首页 > 其他 > 详细

数据卷和数据卷容器

时间:2021-01-07 19:03:54      阅读:25      评论:0      收藏:0      [点我收藏+]

数据卷可在容器之间共享或重用数据

2.卷中的更改可以直接生效。

3.数据卷中的更改不会包含在镜像的跟新中。

4.卷数据的生命周期一直持续到没有容器使用它为止。

 宿主对应目录下文件和容器下目录完全一样修改,删除,新增。且容器停止后,再启动同样和宿主机上的内容一样。还有使用宿主机上一个现有文件夹创建容器,开启后的容器对应卷中也有宿主机下对应的内容。并且宿主卷中删除都对应目录,容器中目录在文件不在

如果宿主机上写数据出现:cannot open directory:Permissiondenied

解决办法:在挂载目录后多加一个 --privileged=true 参数即可。

docker run -it -v /宿主机绝对路径目录:/容器内目录 --privileged=true  镜像名

 

 

 

docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

 ro 只读权限,是单项容器上只可以查看,容器上对应不目录下不可以新建,修改,删除。而宿主机上对应目录可以新增,修改,删除影响到容器上。

 

技术分享图片 View Code

 

数据卷容器

 

  • DockerFile

技术分享图片

 

 

 

 

 

 创建个linux镜像,且在镜像容器运行是在根目录下创建2个数据卷目录,打印文字一段,最后到 /bin/bash

技术分享图片
# voolume test
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD eco "finished,----------success1"
CMD /bin/bash


相当于命令中
docker run -it -v /host:dataVolumeContainer1 -v /host2:/dataVolumeContainer2  centos /bin/bash
技术分享图片

 

技术分享图片

 

 

 技术分享图片

 

数据卷容器 容器间传递共享(--volumens-from)

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 

 创建一个容器,且有2个数据卷

docker run -it --name dc01 whj/centos 

 

 创建容器dc02 并继承容器dc01的数据卷

docker run -it --name dc02 --volumes-from dc01 whj/centos

 

 创建容器dc03 并继承容器dc01的数据卷

docker run -it --name dc03 --volumes-from dc01 whj/centos

删除dc01容器后,dc02数据卷修改,可以反馈到dc03

 

创建dc04容器,继承dc03

docker run -it --name do04 --volumes-from dc03 whj/centos

删除dc03 修改dc04 可以反馈到dc02

所以结论:容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止

数据卷和数据卷容器

原文:https://www.cnblogs.com/bit-by-bit/p/14247014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!