第一步:拉取映象
可指定版本,也可不寫,則為預設最新版本
第二步:複製配置檔案
首先執行容器
docker run -d --name nginx -p 8082:8082 nginx
然後複製配置檔案到宿主機資料夾,此處的宿主資料夾為自己手動建立,即為 D:/usr/nginx/conf
# 將容器nginx.conf檔案複製到宿主機
docker cp nginx:/etc/nginx/nginx.conf D:/usr/nginx/conf/nginx.conf
# 將容器conf.d資料夾下內容複製到宿主機
docker cp nginx:/etc/nginx/conf.d D:/usr/nginx/conf/conf.d
# 將容器中的html資料夾複製到宿主機
docker cp nginx:/usr/share/nginx/html D:/usr/nginx/
以下為我的輸出結果:
第三步 :停止並刪除建立的Nginx容器
#停止容器
docker stop nginx
#刪除容器
docker rm nginx
第四步 : 再次執行Nginx
docker run \ -p 9091:80 \ --restart always \ --name nginx \ -v D:/usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v D:/usr/nginx/conf/conf.d:/etc/nginx/conf.d \ -v D:/usr/nginx/log:/var/log/nginx \ -v D:/usr/nginx/html:/usr/share/nginx/html \ -d nginx:latest
-p: 指定宿主機的9091埠對映到容器內部的80埠,不要隨便對映,因為80埠是nginx預設使用的埠
--restart :容器重啟策略
--name: 給容器起名稱
-d: 後臺執行
-v: 掛載配置檔案、html 目錄到宿主機;冒號前為宿主機檔案路徑,冒號後為掛載到容器中的路徑。可以看到宿主機被掛載的三個目錄/檔案是第一次執行時從容器內複製出來的
第五步: 測試
可檢視日誌: 看到start up 即安裝成功
直接瀏覽器訪問宿主機對映的 91 埠:顯示如下介面即安裝成功
PS: 安裝過程中遇到的問題
啟動容器時,指定宿主機埠對映到nginx容器內部的埠號時,一定要是80,不能隨便對映, 因為80埠是nginx預設使用的埠,可以在Docker視覺化介面看到
如若配置失敗,則會顯示以下資訊 80/tcp not bound , 將啟動容器的埠對映改為nginx預設使用的80埠即可