Docker 容器掛載 Bind Mount

  • 特點:將宿主機上的任意位置的文件或目錄掛載到容器中

從主機共享配置文件到容器,默認情況下, 掛載主機/etc/resolv.conf到每個容器 提供DNS解析。
在Docker主機上的開發環境和容器之間共享源代碼。 例如可以將maven target 目錄掛載到容器中,每次在docker上構建Maven項目時,容器都可以訪問構建的項目包。
Docker主機的文件或目錄結構保證與容器所需的綁定掛載一致。

  • 啓動和測試

將宿主機文件或者目錄掛載到容器中
docker run -d -it --name=nginx2 -p 88:80 --mount type=bind,src=/opt/www,dst=/usr/share/nginx/html nginx
docker run -d -it --name=nginx2 -v /opt/www:/usr/share/nginx/html nginx

docker exec -it nginx2 bash
cd /usr/share/nginx/html/
echo '123456'>index.html
#測試
http://192.168.10.243:88/
#如果源文件或者目錄沒有存在 src=/opt/www  不會自動創建  會拋出一個錯誤
#如果掛載目標在容器非空目錄 則該目錄現有內容將被隱藏

  • 驗證和清理

docker inspect nginx2
"Mounts": [
            {
                "Type": "bind",
                "Source": "/opt/www",
                "Destination": "/usr/share/nginx/html",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

docker stop nginx2
docker rm nginx2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章