一、 環境說明
docker: 18.03.1-ce
nginx: 1.15.1
二、 拉取最新的 Nginx 鏡像
拉取鏡像
$ docker pull nginx
查看當前鏡像
$ docker images # 查詢結果: REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 8b89e48b5f15 7 hours ago 109MB
三、 準備工作
本次將web服務部署在 /srv/web 目錄下:
1、創建 /srv/web 目錄 并進入該目錄
$ cd /srv && mkdir web && cd web
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 # 將本地目錄(文件)掛載到容器指定目錄;
五、 測試
1、測試
如果是本地測試部署則打開:localhost:8081 即可訪問到 web 服務器;
2、補充:
因為是將容器內的 nginx 的根目錄給掛載到本地指定目錄,所以上面訪問到的頁面應該會報 403 錯誤;接下來可以在 /srv/web/html/ 開始我們的項目;
3、進入本地目錄:/srv/web/html/ 創建測試文件 index.html
$ cd /srv/web/html # 創建并隨便編寫內容 重新刷新頁面 $ vim index.html
推薦教程:docker教程