- nginx不能直接挂載資料,先跑一個demo然後複制裡面的内容
docker run -d --name ng nginx
注意:隻要不報錯就不要停止運作,有可能你之前沒有下載下傳nginx的鏡像,docker會自動幫你下載下傳。
- 然後使用
複制内容 ,我之前基礎指令篇(點選跳轉)都有寫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/ -> 目标路徑
(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
- 啟動并挂載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 -> 映射日志目錄