docker数据卷容器挂载不上的解决方法
脚本之家 / 编程助手:解决程序员“几乎”所有问题!
脚本之家官方知识库 → 点击立即使用
docker容器之间可以通过相互挂载实现数据共享,被挂载的容器称为 “数据卷容器”
数据卷容器相互挂载前提需要数据卷容器一方通过数据卷挂载在宿主机
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | docker run -d - v /home --name nginx01 nginx # 将共享文件挂载在容器外部 docker run -d --volumes-from nginx01 --name nginx02 nginx # 将nginx02挂载到nginx01上 # 然后两个容器之间才能实现改文件/home的数据共享,其他文件不会共享 [root@VM-16-3-centos juming] # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a9a89e09f42c nginx "/docker-entrypoint.…" 14 seconds ago Up 13 seconds 80 /tcp nginx02 c9c7db5b91b3 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 80 /tcp nginx01 # 进入到01 [root@VM-16-3-centos juming] # docker exec -it c9c7db5b91b3 /bin/bash root@c9c7db5b91b3:/ # ls bin boot dev docker-entrypoint.d docker-entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@c9c7db5b91b3:/ # cd home root@c9c7db5b91b3: /home # ls root@c9c7db5b91b3: /home # touch nginx01 root@c9c7db5b91b3: /home # exit # 进入02查看 [root@VM-16-3-centos juming] # docker exec -it a9a89e09f42c /bin/bash root@a9a89e09f42c:/ # cd home root@a9a89e09f42c: /home # ls nginx01 |
在/home外部创建一个文件,没有共享
同时数据卷容器挂载是拷贝方式,父容器删除后子容器还会存在
同时删除后重新的创建01容器,发现与02的挂载关系不存在
进入02后创建一个hhh文件
在容器外的宿主机发现了这个文件 匿名挂载默认在/var/lib/docker/volumes/
结论:容器数据卷挂载方式不是将容器02挂载到01容器下,而是间接的挂载到宿主机
到此这篇关于docker数据卷容器挂载不上的解决方法的文章就介绍到这了,更多相关docker数据卷挂载不上内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
最新评论