docker基础(三)-制作镜像部署vue前端项目

一,区分镜像和容器

docker中镜像和容器的区别:

1、镜像是包含了各种环境或者服务的一个模板,而容器是镜像的一个实例;
2、镜像是不能运行的,是静态的,而容器是可以运行的,是动态的。

二,镜像部署一个vue项目

npm init @vitejs/app
创建一个新的项目
然后安装依赖

npm install

再运行npm run build打出dist文件

1,docker获取nginx镜像

docker pull nginx

完成后可以看到镜像列表中已经有nginx了。
命令行查看列表docker image ls
在这里插入图片描述
可视化工具中查看镜像列表:
在这里插入图片描述

2,根目录/nginx/default.conf文件

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    access_log  /var/log/nginx/host.access.log  main;
    error_log  /var/log/nginx/error.log  error;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
} 

该配置文件定义了首页的指向为 /usr/share/nginx/html/index.html,所以我们可以一会把构建出来的 index.html 文件和相关的静态资源放到 /usr/share/nginx/html 目录下。并且监听的端口是80端口。

3,根目录创建dockerfile文件

FROM nginx
COPY dist/ /usr/share/nginx/html/
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
自定义构建镜像的时候基于 Dockerfile 来构建。
FROM nginx 命令的意思该镜像是基于 nginx:latest 镜像而构建的。
COPY dist/ /usr/share/nginx/html/ 命令的意思是将项目根目录下 dist 文件夹下的所有文件复制到镜像中 /usr/share/nginx/html/ 目录下。
COPY nginx/default.conf /etc/nginx/conf.d/default.conf 
命令的意思是将 nginx 目录下的 default.conf 复制到 etc/nginx/conf.d/default.conf,用本地的 default.conf 配置来替换 Nginx 镜像里的默认配置。

4,基于该 Dockerfile 构建 Vue 应用镜像

运行命令(注意不要少了最后的 “.” ):

docker build -t vuenginxcontainer .
注意要在当前项目的根目录运行,因为,-t 是给镜像命名,. 是基于当前目录的 Dockerfile 来构建镜像。

在这里插入图片描述
于是可以查看镜像列表:
在这里插入图片描述
到此时我们的 Vue 应用镜像 vuenginxcontainer 已经成功创建。接下来,我们基于该镜像启动一个 Docker 容器。

5,启动 Vue app 容器

依旧还是在项目的根目录执行,基于 vuenginxcontainer 镜像启动容器,运行命令:

docker run -p 3000:80 -d --name vueApp vuenginxcontainer
docker run 基于镜像启动一个容器
-p 3000:80 端口映射,将宿主的3000端口映射到容器的80端口
-d 后台方式运行
--name 容器名,查看 Docker 进程

好了之后查看容器:

doker ps -a
不输入-a的话仅仅查看运行中的容器,-a则是所有容器

在这里插入图片描述
这时候,输入localhost:3000就可以访问我们的项目:
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于Yolov5的Vue前端目标检测和训练可视化系统源码+模型+部署说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 一、物体识别(检测) ### 1. 选择权重 <img src='screenshots/0ffbddc1-1743-42db-9c28-056d99ef3778.png' /> 说明: 1. yolov5s.pt、yolov5m.pt、yolov5l.pt、yolov5x.pt 为自带的预训练权重,可识别一般普通物体如:人、猫、狗、车等 2. 可以选择自训练权重对专一物体进行识别检测 三、项目部署 ## 1. 环境要求 ### 1.1 Docker容器 - 系统测试环境为Ubuntu 16.04.6 LTS,Linux内核为4.15.0: ``` Static hostname: 304 Icon name: computer-desktop Chassis: desktop Machine ID: 1d0f19d8da7049cdaa13ef3402ecdc18 Boot ID: a07e6032ce044fac872d74c61b339b8f Operating System: Ubuntu 16.04.6 LTS Kernel: Linux 4.15.0-70-generic Architecture: x86-64 ``` - Docker容器版本为19.03,尽量使用较新版本Docker: ``` Docker version 19.03.13, build 4484c46d9d ``` ### 1.2 所需镜像 - ~~mysql:5.7 mysql数据库镜像~~ ``` docker pull mysql:5.7 ``` - flasktrain:latest 项目镜像 ``` docker pull registry.cn-hangzhou.aliyuncs.com/lvjune/yolov5_train_system:latest ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值