参考链接:https://cli.vuejs.org/zh/guide/deployment.html#docker-nginx
一些环境:
- Ubuntu 18.0
- Docker 19.0
工具:
- XShell(敲命令)
- FileZilla Client(上传文件)
一个关键问题:
跨域问题,对于前后端分离项目,这是必须要面对的。我这个项目是主要在后端解决的跨域问题,但在前端也有一部分是通过webpack的proxy来解决跨域的。另外,推荐两种跨域的方式:开发环境:cors+proxy,生产环境:cors+nginx(webpack的proxy在生产环境是不能用的,要改成nginx来配置代理)。
-
在项目根目录创建 文件(需要根据自己的情况更改)
-
在项目根目录创建 文件
- 在项目根目录创建 文件(需要根据自己的情况更改)
本项目在前端也涉及解决跨域问题,本地是通过webpack的proxy解决的,但这种方式在生产环境无法使用,所以要通过nginx重新配置代理,就是在这个文件里配置的。
- 运行你的 Docker 镜像
注意:下面的命令中leblog-web请改成自己的项目名,9090是该项目的运行端口,也请改成自己的。
-
访问:http://111.222.333.444:9090/,(111.222.333.444改成自己服务器的IP地址,9090改成上面设置的端口)成功的话应该能看到自己的项目主页。
-
顺便一提,如果部署失败了,就重新来过,但要先删除失败的容器和镜像(参考链接:https://blog.csdn.net/xu_benjamin/article/details/107111758)
例如,我上面的leblog-web部署失败,容器无法启动(可能原因是配置文件(或其它的什么存在语法错误),就可以按照下面的命令来删除容器和镜像,再排错后重新来过。)