docker数据卷容器
多个MySQL同步数据
启动3个centos容器
创建并启动第一个centos容器docker01
[root@iZmu0fa4hv0jwzZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE test/centos 1.0 11bfc295e9b3 4 hours ago 209MB tomcat02 1.0 c93f6d59c630 19 hours ago 672MB tomcat 9.0 5505f7218e4d 4 days ago 667MB nginx latest d1a364dc548d 3 weeks ago 133MB mysql 5.7 2c9028880e58 5 weeks ago 447MB centos latest 300e315adb2f 6 months ago 209MB [root@iZmu0fa4hv0jwzZ ~]# docker run -it --name docker01 test/centos:1.0
Ctrl + P + Q退出当前容器
创建并启动第二个centos容器docker02并将docker02与docker01挂载
[root@iZmu0fa4hv0jwzZ ~]# docker run -it --name docker02 --volumes-from docker01 test/centos:1.0 [root@ef9fcf1bba1e /]#
开启第二个Xshell会话,进入容器一并在volume01目录下创建一个docker01文件
[root@iZmu0fa4hv0jwzZ ~]# docker attach fff99b389819 [root@fff99b389819 /]# cd volume01 [root@fff99b389819 volume01]# ls [root@fff99b389819 volume01]# touch docker01 [root@fff99b389819 volume01]#
在容器二的volume01目录下查看
[root@ef9fcf1bba1e /]# cd volume01
[root@ef9fcf1bba1e volume01]# ls
docker01
[root@ef9fcf1bba1e volume01]#
可以发现容器一创建的docker01文件,说明docker01创建的文件同步到了docker02
创建并启动第三个容器docker03并将docker03与docker01挂载
进入volume01目录
[root@iZmu0fa4hv0jwzZ ~]# docker run -it --name docker03 --volumes-from docker01 test/centos:1.0 [root@174903c30beb /]# cd volume01 [root@174903c30beb volume01]# ls docker01
可以看见volume01目录下依然有docker01文件
在docker03的volume01目录下创建docker03文件
[root@174903c30beb volume01]# touch docker03
[root@174903c30beb volume01]# ls
docker01 docker03
进入docker01的volume01目录下查看
[root@fff99b389819 volume01]# ls
docker01 docker03
发现存在docker03文件
说明实现了容器间的数据共享
退出并删除docker01
[root@fff99b389819 volume01]# exit [root@iZmu0fa4hv0jwzZ ~]# docker rm -f fff99b389819 fff99b389819
在docker03容器中查看volume01文件
[root@174903c30beb volume01]# ls
docker01 docker03
发现docker01文件依然存在
结论
容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止
但是一旦你持久化到了本地,这个时候,本地的数据是不会删除的