windows版docker安裝nginx,並設置目錄掛載


前提:本地環境windows+git bash+docker

步驟1:拉取nginx鏡像

docker pull nginx  

注:默認拉取最新版本,可通過docker images查看鏡像是否已拉取下來

 

 

 

步驟二:使用Dockerfile,構建自己的nginx鏡像

使用cmd,命令如下

md Dockerfile

使用bahs,命令如下:

touch Dockerfile

考慮到使用cmd沒有vim編輯器,所以中間我使用了git bash命令窗口,使用vim編輯了Dockerfile文件

內容如下:

FROM nginx

RUN echo '<h1>hello docker!</h1>' > /usr/share/nginx/html/index.html

這個 Dockerfile 很簡單,一共就兩行涉及到了兩條指令:FROM 和 RUN,FROM 表示獲取指定基礎鏡像,RUN 執行命令,在執行的過程中重寫了 nginx 的默認頁面信息,將信息替換為:hello docker!。

 

在 Dockerfile 文件所在目錄執行:

docker build -t mynginx:V1 .

命令最后有一個. 表示當前目錄,標簽為V1

docker images 查看所有鏡像,v1的這個就是你的

 

 

步驟三:啟動容器

docker run  --name mynginx_V1  -p 80:80 nginx:V1

name:自定義容器名稱,這里取名為myNginx;
-d:后台運行容器,並返回容器ID;
-p:指定端口映射,格式為:主機(宿主)端口:容器端口。
-v:目錄掛載,格式為:主機目錄:容器目錄

這條命令會用 nginx 鏡像啟動一個容器,命名為mynginx_V1,並且映射了 80 端口,這樣我們可以用瀏覽器去訪問這個 nginx 服務器:localhost,頁面將返回hello docker!信息。

步驟四:修改容器內容,這里提供兩種方法

①以交互式終端的方式直接編輯容器里的內容

比如,這里修改nginx啟動頁面的內容

以交互式終端方式進入 mynginx_V1 容器,並執行了 bash 命令,也就是獲得一個可操作的 Shell。然后,我們用<h1>Hello, Docker neo!</h1>覆蓋了 /usr/share/nginx/html/index.html 的內容。

 

 

此時刷新頁面時,將會看到最新的內容。

②設置文件掛載目錄

docker 容器不支持vim 編輯,修改起來比較麻煩,可以設置文件掛載目錄,把容器的目錄掛載到宿主機上,這樣直接修改宿主機的就行了

例如:

docker run --name mynginx_V1 -p 80:80 -v f:\dockerFile\mynginx_V1\opt\nginx\data\html:/usr/share/nginx/html  nginx:V1

其中 -v f:\dockerFile\mynginx_V1\opt\nginx\data\html:/usr/share/nginx/html

就是把容器的/usr/share/nginx/html 目錄掛載到本機f:\dockerFile\mynginx_V1\opt\nginx\data\html目錄下

 

注意需要先在宿主機上創建這個目錄,然后把容器上的該目錄下的文件復制過來

可以用

docker cp mynginx_V1:/usr/share/nginx/html  opt/nginx/data

復制完后,目錄內容如下:

 

 

 

docker ps  查看運行的鏡像

docker stop 容器名/id 停掉鏡像

修改宿主機的html頁面刷新網頁會發現也變了

 

 此時修改宿主機上的首頁內容

 

再次刷新頁面時,頁面就變成最新的了

 

參考鏈接:https://blog.csdn.net/qq_36635434/java/article/details/106711434


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM