Docker要求CentOS系统的内核版本高于3.10(一般情况下你买的阿里云都是支持的哈),来验证你的CentOS版本是否支持 Docker 。
$ uname -r
$ yum update
$ yum remove docker docker-common docker-selinux docker-engine
$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum list docker-ce --showduplicates | sort -r
$ yum install docker-ce
$ systemctl start docker
$ systemctl enable docker
$ docker version
$ docker run --name zzz-nginx -itd --restart always -p 9110:80 -v /root/test/zzz-nginx/dist:/usr/share/nginx/html nginx
docker run
: 启动一个docker容器。--name
: 为这个容器取一个名字,比如此处取的名字是zzz-nginx-p
: 端口映射,连接服务器的9110端口(端口你随便起,喜欢哪四个数就用哪四个数哈,1234 2234你喜欢就好)与容器的80端口,这样就能够通过"服务器ip:9000"
直接访问容器了。--restart always
: 这个配置选项能够在容器在意外崩溃后再次启动起来,用来防止周末被老板叫回去加班,建议加上。-v
: 路径挂载。将容器外部的路径与容器内部的路径给“连接”在一起。比如,这里的/root/test/zw-nginx/dist
就是容器外部(也就是服务器里的)路径,而/usr/share/nginx/html
就是进入容器后,容器里的路径。从此这两个被绑定在一起的路径就是亲兄弟了,一起吃肉,一起喝酒,所有文件都共享。若原路径不存在则会被docker自动创建。这条命令运行之后,我们就创建了一个拥有nginx的docker容器了!!!
我们可以通过以下命令查看一下,我们的容器是不是成功创好了。
$ docker ps
这个命令我们能够查看到各个容器的ID、名字、端口映射等信息。
可见我们的zzz-nginx容器已经创好了
如果需要查看所有容器,不管是否正在运行,则加上-a即可:
$ docker ps -a
我们可以再看看刚才的路径挂载信息:
$ docker inspect zzz-nginx(你的容器名) | grep Mounts -A 20
本文以WinSCP这个软件为例:
直接将我们的vue项目在windows下npm run build
打包,会生成一个dist文件夹,再将dist文件夹里面的内容,直接拖到阿里云服务器的刚刚设置挂载的路径下即可
$ docker exec -it zzz-nginx(你的容器名) /bin/bash
$ cd /etc/nginx/conf.d/
这个default.conf就是我们要修改的配置文件,但是!!!docker里没有自带vi和vim,我们需要自行安装………………
$ apt-get update
$ apt-get install vim
然后才可以用vim打开这个default.conf文件
$ vim default.conf
把框红框的部分的api的url改成你自己项目的后端接口url就可以了!!!
前提是你的前端是
这样式儿的哈,因为那个location /api的意思是匹配所有以/api 开头的地址。
http://阿里云服务器IP:9110(您刚刚设置的您喜欢的端口号)
https://www.cnblogs.com/yufeng218/p/8370670.html 感谢风止雨歇作者
https://mp.weixin.qq.com/s?__biz=MzI1MzYxMzM3Mg==&mid=2247483710&idx=1&sn=300a51b2963e884cbf5862b75edada2d&chksm=e9d0856ddea70c7bb5c7bff890fb7b19c9708eee7dc22144416db4dec82b9f9cbd1290a77c78&token=463138875&lang=zh_CN#rd 感谢401英俊的丰丰!