docker部署、nginx掛載、nginx.conf配置文件


docker部署、nginx掛載、nginx.conf配置文件

1.用docker image 命令查看當前環境是否有nginx鏡像

2.如果沒有則用 docker pull nginx 命令下載鏡像

3.在/home/dockers/nginx目錄下建立3個以下文件夾

1)mkdir -p /home/dockers/nginx/{log,conf,html}

4.執行創建並運行nginx容器的命令

1)docker run --name nginx-manager -d nginx

2)docker cp nginx-manager:/etc/nginx/nginx.conf /home/dockers/nginx/conf/

3)docker cp nginx-manager:/etc/nginx/conf.d/default.conf /home/dockers/nginx/conf

/home/dockers/nginx/conf是要掛載配置文件的目錄

可以通過docker exec -it nginx-manager sh 進入到容器里查看要拷貝的nginx.conf和default.conf文件路徑

4)備份
配置文件

cp default.conf default.bak.conf
cp nginx.conf nginx.bak.conf

5.停掉並刪除之前創建的nginx容器,然后用掛載的方式重新創建並運行容器

docker run --privileged --name nginx-manager -it -p 8192:8192 -v /home/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v /home/dockers/nginx/conf/default.conf:/etc/ng
inx/conf.d/default.conf:ro -v /home/dockers/nginx/html:/usr/share/nginx/html:rw -v /home/dockers/nginx/log:/var/log/nginx -d nginx

命令解釋:

--privileged

​ 使用該參數,[container]內的root擁有真正的root權限。
​ 否則,container內的root只是外部的一個普通用戶權限。
​ privileged啟動的容器,可以看到很多host上的設備,並且可以執行mount。
​ 甚至允許你在docker容器中啟動docker容器。

--name

​ 設置nginx容器的名稱

-p 8193:8193

​ 設置訪問端口和nginx容器的監聽端口的映射關系

​ 第一個8193是你訪問的端口

​ 第二個8193是docker的nginx配置文件監聽端口

-d 后台掛載運行nginx

-v /home/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro
-v /home/dockers/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:ro
-v /home/dockers/nginx/html:/usr/share/nginx/html:rw
-v /home/dockers/nginx/log:/var/log/nginx

​ 將docker容器nginx的配置文件目錄、日志目錄、服務訪問目錄和掛載到容器外

6.查看容器的狀態 docker inspect nginx-manager

7.掛載配置文件並重啟nginx容器

1)根據default.conf的配置信息更新配置文件,我這里創建了一個新的manger.conf(這個就是你要掛載的nginx配置文件)

2)重啟nginx容器 docker restart nginx-manager

以上就是docker以掛載文件的形式啟動nginx服務

可以到/var/lib/docker/containers/這個目錄下查看容器的啟動日志信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM