- 特點:將宿主機上的任意位置的文件或目錄掛載到容器中
從主機共享配置文件到容器,默認情況下, 掛載主機/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