我们项目组采用vue作为前端基础框架进行页面开发,前期采用的工程发布流程如下:
- 云主机中安装nginx作为web服务器,并设置端口、缓存、反向代理等配置
- 通过nodejs打包前端工程
- 将打包的工程拷贝到对应的nginx文件夹下完成发布
最近,处于自我折腾及对容器化部署的浓厚兴趣,特意去学习了一下如何采用docker部署前端工程的知识,并应用到了实际项目的部署中,具体发布流程如下:
- 云主机中安装docker应;
- 在工程中新建Dockfile配置文件,指定docker拉取的镜像文件以及相关的文件拷贝操作;新建default.conf文件,设置nginx的相关启动配置。Dockfile文件配置如下:

- 通过nodejs打包前端工程;
- 运行 docker build -t [镜像名称] . 命令,执行Dockerfile中的相关命令,创建镜像并同步打包工程文件到镜像中;
- 通过 docker save [docker中的镜像] > [导出的镜像名称.tar] 命令导出创建的镜像文件;
- 将导出的镜像文件上传到云服务器中,执行 docker load -i [需要导入的镜像名称.tar] 将镜像文件导入主机中的docker中;
- 执行 docker run -i -d -p [主机中的端口]:[镜像中nginx配置的端口] [docker的镜像名称] 命令运行镜像,完成部署;
采用docker部署的好处就是不用再关心宿主机器的环境,省去了应用程序的安装配置过程,在安装好docker后就能直接通过导入工程镜像完成发布。
目前的发布流程采用的是全人工参与的方式,比较的不智能,不符合解放劳动力的终极理想,后续会再结合jenkins,实现持续部署/持续集成的目标。上述内容纯属个人记录,分享出来,如果有什么问题,希望各位大拿能够不吝指教。