docker nginx

docker run --name nginx -p 0.0.0.0:8081:80 -v ~/nginx/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/webapp:/usr/share/nginx/html -d nginx
0.0.0.0 监听所有 ip 的 8081 端口 映射到 container 的 80 端口, 将本地 ~/nginx/nginx.conf (nginx的配置文件) 挂载到container 中的 nginx.conf 配置文件 将 webapp 本地的静态资源 ~/nginx/webapp 路径 挂载到 container 中 /usr/share/nginx/html 静态资源路径 注意 webapp 是个 文件夹 里面可以放置 打包完后的 vue.js 文件 将 dist 中的 static 与 html 放入该文件夹 访问 localhost:8081 即可访问,注意 nginx.conf 是个文件 不是文件夹 当中必须有 nginx 的配置 内容 (文件不能放空) 否则 docker run 后会抛出异常 不会立即显示 状态为 Exited (1) 如果 docker stop nginix 填写完配置文件后 docker start nginx 可以正常运行,如果配置时 没有创建该文件 touch nginx.conf 容器会 抛出 错误异常 提示你Are you trying to mount a directory onto a file 把路径挂载到文件上了。容器状态 status 为 created

重载 docker 中 nginx 的配置文件
docker exec nginx -s reload(不建议这样做 ) If you want to restart the NGINX process, restart the container by running the command:

`docker restart

注意 在 docker 中的 nginx 配置 里面不要 写127.0.0.1 proxy_pass 的地址 因为它代表容器本身。

vim /etc/hosts

该文章在2018年2月份就已经完成默默的躺在我的qq空间里了,在我经常需要它的时候我会去翻页,docker nginx 是我第一次实现服务器的全容器化。我个人觉得是挺实用的,文章中没有像以往那样写得非常的情绪化,但是希望大家喜欢,后续还会有关于nginx 与 docker 实现 https。

你可能感兴趣的:(docker nginx)