docker数据卷容器

Posted hsyw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker数据卷容器相关的知识,希望对你有一定的参考价值。

docker数据卷容器

什么是docker数据卷容器?

命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器()

操作一波?

1、先启动一个上次整的那个tzh/centos的容器、然后在dataVolumeContainer2新建任意文件

docker run -it --name qaz01 tzh/centos
cd dataVolumeContainer2/
echo "aaaa" > test

2、再启动一个qaz02/qaz03继承qaz01、然后分别在qaz02/qaz03的dataVolumeContainer2新建任意文件

#继承命令关键字:   --volumes-from 
#用法:子 --volumes-from 父
?
---------qaz02继承qaz01------------
docker run -it --name qaz02 --volumes-from qaz01 tzh/centos
#进入qaz02的dataVolumeContainer2 查看发现有刚刚我们新建的test
[root@d55f9daa449f dataVolumeContainer2]# pwd
/dataVolumeContainer2
[root@d55f9daa449f dataVolumeContainer2]# ls
test
#再新建一个任意的文件
[root@d55f9daa449f dataVolumeContainer2]# echo bbbbbbbbb test02  
[root@d55f9daa449f dataVolumeContainer2]# ls
test test02
?
---------qaz03继承qaz01------------
#再开一个容器qaz03,且继承qaz01
docker run -it --name qaz03 --volumes-from qaz01 tzh/centos
#进入qaz03的dataVolumeContainer2 查看发现有刚刚我们新建的test、test02
[root@0c9d57f3eff9 dataVolumeContainer2]# pwd
/dataVolumeContainer2
[root@0c9d57f3eff9 dataVolumeContainer2]# ls
test test02
#再新建一个任意文件
[root@0c9d57f3eff9 dataVolumeContainer2]# echo ccccccccccccc > test03
[root@0c9d57f3eff9 dataVolumeContainer2]# ls
test test02 test03
?
--------------------
#现在我们一共开了三个容器
[root@tzh ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                 CREATED         STATUS         PORTS   NAMES
0c9d57f3eff9   tzh/centos    "/bin/sh -c /bin/bash"   5 minutes ago   Up 5 minutes           qaz03
d55f9daa449f   tzh/centos    "/bin/sh -c /bin/bash"   8 minutes ago   Up 9 minutes           qaz02
f3cc837df61c   tzh/centos    "/bin/sh -c /bin/bash"   9 minutes ago   Up 16 minutes         qaz01
#然后我们进入qaz01看看是否有刚刚在qaz02、qaz03中新建的文件
命令:docker attach qaz01
#查看
[root@f3cc837df61c dataVolumeContainer2]# pwd
/dataVolumeContainer2
[root@f3cc837df61c dataVolumeContainer2]# ls
test test02 test03
#到qaz02也是这三个文件!不做演示

总结:发现qaz01有刚刚qaz02、qaz03新建的文件,说明我们达到了数据继承、数据共享的目的!!!

思考1:如果我们把父容器给干掉,请问子容器的数据是否还在呢?

思考2:在父容器被干掉的情况下,在qaz02的dataVolumeContainer2下新建文件,请问会同步到qaz03吗?

思考3:再起一个容器qaz04,继承03,那么04会不会有同样的数据呢?

结论:只要这些关联起来的容器没有全部宕机,那么数据就会一直传递下去!

 

以上是关于docker数据卷容器的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习笔记(8-2)Docker - 数据卷容器

docker数据卷容器

Docker 数据卷

docker数据卷容器

Docker之七:Docker数据卷管理

06-Docker-容器数据卷