数据卷容器-实验
·
测试多个容器数据同步,下面是一个简单的拓扑图,帮助理解

# 启动3个容器,镜像使用以前dockerfile自己构建的镜像,基于centos:6.6版本,镜像名为xuxiake/centos:1.0 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE xuxiake/centos 1.0 4369a6ea5814 6 years ago 203MB
启动第一个容器
[root@localhost ~]# docker run -it --name xuxiake01 xuxiake/centos:1.0 [root@0c1599d6ec74 /]# ls bin etc lib lost+found mnt proc sbin srv tmp var volume02 dev home lib64 media opt root selinux sys usr volume01 # 这里的 volume01 和 volume02 为数据卷
启动第二个容器
[root@localhost ~]# docker run -it --name xuxiake02 --volumes-from xuxiake01 xuxiake/centos:1.0 [root@4816b1f21a94 /]# ls bin etc lib lost+found mnt proc sbin srv tmp var volume02 dev home lib64 media opt root selinux sys usr volume01
测试:在 xuxiake01 的 volume01中创建 xuxiake01 文件,然后在 xuxiake02 的 volume01 中查看
# 在 xuxiake01 中创建文件 [root@localhost ~]# docker exec -it xuxiake01 /bin/bash # 进入xuxiake01 [root@0c1599d6ec74 /]# ls bin etc lib lost+found mnt proc sbin srv tmp var volume02 dev home lib64 media opt root selinux sys usr volume01 [root@0c1599d6ec74 /]# cd volume01 [root@0c1599d6ec74 volume01]# touch xuxiake01 # 创建文件 # 在 xuxiake02 中查看 [root@4816b1f21a94 volume01]# pwd /volume01 [root@4816b1f21a94 volume01]# ls xuxiake01
创建 xuxiake03 容器,同时也挂载 xuxiake01 的数据卷,测试数据同步
[root@localhost ~]# docker run -it --name xuxiake03 --volumes-from xuxiake01 xuxiake/centos:1.0 [root@d10a177195d7 /]# ls bin etc lib lost+found mnt proc sbin srv tmp var volume02 dev home lib64 media opt root selinux sys usr volume01 [root@d10a177195d7 /]# ls /volume01 xuxiake01
总结:通过 --volume-from 就可以实现容器间的数据共享
注意:容器之间的数据同步类似于双向拷贝,其中一个容器删除掉另一个容器的数据还在。
更多推荐
所有评论(0)