docker下安裝Nginx
- docker: 18.03.1-ce
- nginx: 1.15.1
二、 拉取最新的 Nginx 映象
- 拉取映象
$ docker pull nginx 複製程式碼
- 檢視當前映象
$ docker images # 查詢結果: REPOSITORYTAGIMAGE IDCREATEDSIZE nginxlatest8b89e48b5f157 hours ago109MB 複製程式碼
三、 準備工作
本次將web服務部署在 /srv/web 目錄下:
3.1 建立 /srv/web 目錄 並進入該目錄
cd /srv && mkdir web && cd web 複製程式碼
3.2 隨便建立一個 Nginx 容器,並拷貝 Nginx 的預設配置:
- 建立容器:
$ docker run -d --name nginx nginx 複製程式碼
- 從容器中拷貝配置檔案至本地:
# 檢視 ==> 獲取容器ID $ docker container ls # 在當前目錄下建立目錄:conf (必須) $ mkdir conf # 拷貝容器內 Nginx 預設配置檔案到本地當前目錄下的 conf 目錄 $ docker cp a89b2c5f3dd1:/etc/nginx/nginx.conf $PWD/conf 複製程式碼
- 刪除容器:
# 停止容器 $ docker container stop a89b2c5f3dd1 # 刪除容器 $ docker container rm a89b2c5f3dd1 複製程式碼
四、 開始正式部署
- 部署命令:
$ docker run -d -p 8081:80 --name nginx-web-6666 -v $PWD/html:/usr/share/nginx/html -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/var/log/nginx nginx 複製程式碼
- 命令詳細說明:
-d # 表示在一直在後臺執行容器 -p 8081:80 # 對埠進行對映,將本地8081埠對映到容器內部的80埠 --name # 設定建立的容器名稱 -v # 將本地目錄(檔案)掛載到容器指定目錄; 複製程式碼
五、 測試
5.1 測試
如果是本地測試部署則開啟:localhost:8081 即可訪問到 web 伺服器;
5.2 補充:
因為是將容器內的 nginx 的根目錄給掛載到本地指定目錄,所以上面訪問到的頁面應該會報 403 錯誤;接下來可以在/srv/web/html/
開始我們的專案;
5.3 進入本地目錄:/srv/web/html/ 建立測試檔案 index.html
$ cd /srv/web/html # 建立並隨便編寫內容 重新重新整理頁面 $ vim index.html 複製程式碼