一、思路总结
利用 Docker + Nginx 部署 Vue 项目,先将 Vue 项目通过 build
命令构建成一个 dist文件夹,然后将这个文件夹交给 nginx 进行代理(这里利用的是反向代理,作用是可以对外隐藏项目的真实端口),然后编写 Dockerfile文件
,在 nginx 基础镜像之上,构建一层属于我们自己的镜像,然后打包,Dockerfile 主要是配置 “vue 项目目录” 和 “nginx的配置文件”,将这两个文件拷贝映射到 nginx 容器内部。编写好 Dockerfile 文件后,通过build
命令构建镜像。最后将这个自定义的nginx镜像发布到DockerHub仓库,其他人就可以去DockerHub将镜像 pull
下来,利用这个镜像创建并运行一个容器就可以直接运行我们这个项目。
二、具体过程分析
(1)用指令 npm run build
打包 vusjs 项目。打包成功后会生成一个目录 dist
[root@wuze chess]# npm run build
生成了dist目录:
(2)把该文件夹拷贝到阿里云服务器(操作系统 centos7)下的 /usr/share
目录下
[root@wuze bigcourse]# cp -r /home/2020yunjisuan/bigcourse/chess/dist /usr/share
[root@wuze bigcourse]# cd /usr/share/
[root@wuze share]# ll
(3)在 /usr/share
目录下新建Dockerfile 文件
Dockerfile文件内容:
# 设置基础镜像
FROM nginx
# 定义作者
MAINTAINER wuze <wuzest@163.com>