大家好,我是实验小张,简略记录一下自己做的一点儿docker基础处理过程。
1 - linux或者windows下安装nodejs环境
2 - 创建vue项目
npm install vue-cli -g // 全局安装vue脚手架
vue list // 查看脚手架安装工具
vue init webpack <项目名称> // 创建vue项目,以此可以开发vue
npm install // 安装依赖包
npm run dev // 调试运行,vue-cli-service serve
npm run build // 调用package.json里面的scripts对应的脚手架命令
输出dist
3 - 根据dist和Dockerfile文件制作镜像
#使用 nginx最新版本作为基础镜像,dist静态web文件塞入nginx后,通过访问nginx就可以访问到我们的vue
FROM nginx
#将当前文件夹的dist文件复制到容器的/usr/share/nginx/html目录
COPY./dist/usr/share/nginx/html/#声明运行时容器暴露的端口(容器提供的服务端口)
EXPOSE 80
#CMD:指定容器启动时要运行的命令,后台运行nginx
CMD ["nginx","-g","daemon off;"]
以上作为Dockerfile脚本,运行 docker build -t <镜像名称>:<版本号x.x> . , 生成镜像images_test:x.x
4 - 第3步中的镜像在本地,本地运行可执行 docker run -t -p out_port:docker_port images_test:x.x
如果需要再任何服务器上的docker环境下运行此镜像,则需要上传至镜像仓库,我选择的是阿里云免费个人版容器服务
$ docker login --username=n**** registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
然后可以拉取镜像,docker pull registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
5 - 上面的事情处理完毕之后,就可以部署到服务器上了,最后一步,运行自制的vue镜像
docker run -d -p 8080:80 image_test:<version no.>
6 - 也可以通过docker-compose up -d来运行yml文件来运行镜像,还可以通过volumes参数来挂载数据卷
先大略说这么多,docker是一个比较好用的工具,提高开发效率和降低运维成本,easy~