docker数据卷容器
什么是docker数据卷容器?
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器()
操作一波?
1、先启动一个上次整的那个tzh/centos的容器、然后在dataVolumeContainer2新建任意文件
docker run -it --name qaz01 tzh/centos
cd dataVolumeContainer2/
echo "aaaa" > test2、再启动一个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会不会有同样的数据呢?