天天看點

docker nginx安裝&挂載外部配置和資料 一氣呵成

  1. nginx不能直接挂載資料,先跑一個demo然後複制裡面的内容
docker run -d --name ng nginx
           

注意:隻要不報錯就不要停止運作,有可能你之前沒有下載下傳nginx的鏡像,docker會自動幫你下載下傳。

docker nginx安裝&挂載外部配置和資料 一氣呵成
  1. 然後使用

    docker cp

    複制内容 ,我之前基礎指令篇(點選跳轉)都有寫

(1) 先複制nginx的配置

# 建立挂載目錄
 mkdir -p /root/docker-data-test/nginx
# 複制容器内容
docker cp ng:/etc/nginx/  /root/docker-data-test/nginx/conf
---------------------------------------------------------------------------------
ng:/etc/nginx 							-> 容器路徑
/root/docker-data-test/nginx/conf/      -> 目标路徑
           
docker nginx安裝&挂載外部配置和資料 一氣呵成

(2) 複制html中的内容

# 複制容器内容
docker cp ng:/usr/share/nginx/html  /root/docker-data-test/nginx
           

(3) 複制log的内容

docker cp ng:/var/log/nginx  /root/docker-data-test/nginx/log  
           
docker nginx安裝&挂載外部配置和資料 一氣呵成
  1. 啟動并挂載nginx

剛才的demo如果不想要可以使用指令删除它

docker rm -f ng

# 啟動并挂載外部配置和資料
docker run -d \
--name nginx  \
--restart always \
-v ~/docker-data-test/nginx/html:/usr/share/nginx/html \
-v ~/docker-data-test/nginx/log:/var/log/nginx \
-v ~/docker-data-test/nginx/conf:/etc/nginx  \
-p 81:80 \
nginx
           

涉及到的指令行參數:

-d                                                  				-> 以守護程序的方式啟動容器
-p 81:80                                        					-> 綁定主控端端口
--name nginx                                     					-> 指定容器名稱
--restart always                                    				-> 開機啟動
--privileged=true                                   				-> 提升容器内權限
-v ~/docker-data-test/nginx/conf:/etc/nginx						    -> 映射配置檔案
-v ~/docker-data-test/nginx/html:/usr/share/nginx/html              -> 映射html目錄
-v ~/docker-data-test/nginx/log:/var/log/nginx		                -> 映射日志目錄