docker部署nginx并映射本地目录
将服务器本地的三个文件夹和nginx容器中的三个文件夹相对应上,要求你要有一定的nginx和docker基础,处理思路是1.随便起一个nginx容器;2.将容器中的配置文件复制到本地;3.删掉容器重建,并映射本地路径,难点在于conf目录。
你要有一定的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
随便起个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文件,莫非只能重启或者重建容器么?目前还没找到好方法。欢迎留言指导~
参考连接
本文主要用于自己的学习记录,其实大家也都能从网上找到,特别感谢这几篇文章
更多推荐
所有评论(0)