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

你可能感兴趣的:(kubernetes)