赞
踩
你要有一定的nginx和docker基础
思路,将服务器的三个文件夹和nginx容器中的三个文件夹相对应上,其中难点在于conf目录。处理思路:1.随便起一个nginx容器;2.将容器中的配置文件复制到本地;3.删掉容器重建,并映射本地路径 。
目录
容器内有三个路径可以映射,看自己选择要映射某一或几项:
1.静态资源:/usr/share/nginx/html,就是我们存放html,js文件的地方
2.配置文件:/etc/nginx,存放配置文件的地方,这个东西需要把容器里的复制出来
3.日志文件:/var/log/nginx,存放日志的地方
docker pull nginx
容器名字姑且叫nginx00,姑且用9004指向容器内的80,这些参数都随意
docker run -d --name nginx00 -p 9004:80 nginx
容器启动后,可以看看服务器的9004端口是否嫩访问到nginx,如果能正常访问就没问题,如果不行,自行解决吧
因为我是要将本地的/home/docker/nginx路径做映射,所以cd到路径下执行
docker container cp nginx00:/etc/nginx .
执行后,本地多了个nginx文件夹,将其改名叫conf
mv nginx conf
将另外两个需要映射的文件夹
- mkdir html
- mkdir logs
在html路径下,自己vi写个test.html。内容随意,命令自行解决。
这时,你已经准备完毕原材料
先把原来的容器铲除掉
- docker stop nginx00 #停止
- docker rm nginx01 #删除
- docker ps -a #看看是不是没了
建新的容器,起名nginx01,还用9004端口,三个路径都映射。
- #二者选择一个执行即可
- #一行版本
- docker run -d -p 9004:80 --name nginx01 -v /home/docker/nginx/html:/usr/share/nginx/html -v /home/docker/nginx/conf:/etc/nginx -v /home/docker/nginx/logs:/var/log/nginx nginx
-
- #折行版本
- docker run -d -p 9004:80 --name nginx01 \
- -v /home/docker/nginx/html:/usr/share/nginx/html \
- -v /home/docker/nginx/conf:/etc/nginx \
- -v /home/docker/nginx/logs:/var/log/nginx \
- nginx
如果nginx.conf变化了,该如何reload这个conf文件,莫非只能重启或者重建容器么?目前还没找到好方法。欢迎留言指导~
本文主要用于自己的学习记录,其实大家也都能从网上找到,特别感谢这几篇文章
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。