Docker安裝Nginx

Lemon1103發表於2024-08-23

第一步:拉取映象

可指定版本,也可不寫,則為預設最新版本

第二步:複製配置檔案

首先執行容器

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埠即可

相關文章