数据卷容器是什么?
    命名的容器挂载数据卷,其他容器通过挂载这个容器(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器。

    容器间数据卷传递共享(—volumes-from)
    通过容器数据卷的继承来实现数据卷容器的传递。

    1. 首先启动一个父容器,挂载一个数据卷。 ```shell [linguo@VM-4-6-centos ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE linguo/centos-dockerfile latest 47e5e93b0f03 21 hours ago 231MB [linguo@VM-4-6-centos ~]$ docker run -it —name c01 47e5e93b0f03 [root@cafaa1de25f3 /]# ls bin containerData1 containerData2 dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@cafaa1de25f3 /]# cd containerData1/ [root@cafaa1de25f3 containerData1]# ls [root@cafaa1de25f3 containerData1]# touch c01_add_file.txt [root@cafaa1de25f3 containerData1]# ls c01_add_file.txt [linguo@VM-4-6-centos ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cafaa1de25f3 47e5e93b0f03 “/bin/sh -c /bin/bash” 16 seconds ago Up 15 seconds c01
    启动了一个容器,按照之前的设置,里面有两个数据卷,分别是containerData1和containerData2,在该容器下的containerData1中建立了一个文件
    
    2. 启动一个容器并继承自这个容器
    ```shell
    [linguo@VM-4-6-centos ~]$ docker run -it --name c02 --volumes-from c01 47e5e93b0f03
    [root@941abf1f61a9 /]# ls /containerData1
    c01_add_file.txt
    

    使用 —volumes-from 匹配继承的容器,可以看到容器启动后,数据卷容器的数据卷已经被共享到当前容器

    1. 验证c01这个数据卷容器停止后,其他容器数据卷共享是否收到影响 ```shell 1.先启动一个c03容器继承c01 [linguo@VM-4-6-centos ~]$ docker run -it —name c03 —volumes-from c01 47e5e93b0f03 [root@f83b6fb18353 /]# ls /containerData1/ c01_add_file.txt 2.停止容器c01 [linguo@VM-4-6-centos ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f83b6fb18353 47e5e93b0f03 “/bin/sh -c /bin/bash” 31 seconds ago Up 31 seconds c03 941abf1f61a9 47e5e93b0f03 “/bin/sh -c /bin/bash” 3 minutes ago Up 3 minutes c02 cafaa1de25f3 47e5e93b0f03 “/bin/sh -c /bin/bash” 10 minutes ago Up 10 minutes c01 [linguo@VM-4-6-centos ~]$ docker stop cafaa1de25f3 cafaa1de25f3 [linguo@VM-4-6-centos ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f83b6fb18353 47e5e93b0f03 “/bin/sh -c /bin/bash” 48 seconds ago Up 47 seconds c03 941abf1f61a9 47e5e93b0f03 “/bin/sh -c /bin/bash” 4 minutes ago Up 4 minutes c02 3.验证c02跟c03数据卷是否正常 [linguo@VM-4-6-centos ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f83b6fb18353 47e5e93b0f03 “/bin/sh -c /bin/bash” 48 seconds ago Up 47 seconds c03 941abf1f61a9 47e5e93b0f03 “/bin/sh -c /bin/bash” 4 minutes ago Up 4 minutes c02 [linguo@VM-4-6-centos ~]$ docker attach 941abf1f61a9 [root@941abf1f61a9 /]# ls containerData1 c01_add_file.txt [root@941abf1f61a9 containerData1]# touch c02_add_file.txt [root@941abf1f61a9 containerData1]# ls c01_add_file.txt c02_add_file.txt [linguo@VM-4-6-centos ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f83b6fb18353 47e5e93b0f03 “/bin/sh -c /bin/bash” 3 minutes ago Up 3 minutes c03 941abf1f61a9 47e5e93b0f03 “/bin/sh -c /bin/bash” 7 minutes ago Up 7 minutes c02 [linguo@VM-4-6-centos ~]$ docker attach f83b6fb18353 [root@f83b6fb18353 /]# ls /containerData1 c01_add_file.txt c02_add_file.txt

    ``` 结论:容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止,符合特点—4.数据卷的生命周期一直持续到没有容器使用它为止
    其实还是原来c01挂载的数据卷,它本来就有一个宿主机的数据卷地址,使用dcoker inspect 去查看这几个容器的数据卷绑定关系时会看到它们宿主机的地址都是一样的,也就是这几个容器的数据卷所在的宿主机数据卷关系是一致的,只有所有容器都停止时,该数据卷的生命周期才结束。