第一步先编写Dockerfile文件,docker会根据这个文件一步步自动的部署你的项目
# 在容器安装nginxFROM nginx
# 移除nginx的default.conf RUN rm /etc/nginx/conf.d/default.conf
# 把配置好的nginx配置文件添加到 /etc/nginx/conf.d/ 目录下 (就是把default.conf文件替换)ADD default.conf /etc/nginx/conf.d/
# 把前端项目文件夹 复制到/usr/share/nginx/html/文件夹下COPY dist/ /usr/share/nginx/html/
复制代码
把Dockerfile文件和前端项目都放在一个文件夹有利于打包,如图
(其实在项目项目开发中到了这一步你可以直接把项目给运维部署了)
接下来可以再本地测试一下 和服务器部署是一样的
在当前文件下运行,回车即可生成一个名字为test_web88的镜像
docker build -t test_web88 . //记住要后面要加一个空格和一点复制代码
查看生成的镜像,命令如下
docker images
复制代码
这个是就们生成的镜像,名为:test_web88
接下来运行镜像,命令如下
docker run -d -p 8686:8686 aa43e674b9f8
// -d 是镜像后台运行
// -p 是映射端口 容器开的端口:服务器的端口 (本来是映射到80端口的,我之前的一些项目被占用了)
// 后面的字符串是镜像的ID (看上的镜像信息)复制代码
输入命令回车
可以看看镜像运行成功没有,命令如下
docker ps复制代码
镜像就跑起来了,在浏览器访问8686端口,试一下吧(这个ip地址是我的docker分配的)