数据卷容器
--volumes-from
例子:docker02的容器同步docker01容器的数据
docker run -it --name docker02 --volumes-from docker01 kuangshen/centos:1.0
多个mysql同步数据!
# 启动三个容器,通过我们刚才自己写的镜像启动。
使用ctrl + p + q # 退出当前容器
# 测试一:去启动docker02的容器同步docker01容器的数据
注:
# 测试二:在docker01容器中的volume01下创建一个文件,查看docker02容器中的volume01下有没有同步出来对应的文件
# 测试三:去启动docker03的容器同步docker01容器的数据,然后在docker03容器中的volume01下创建一个文件,查看docker01容器中的volume01下有没有同步出来对应的文件
docker03容器内:【--volumes-from
】
docker01容器内:
测试四:将docker01停止并删掉,docker02和03上的文件是否还能访问
结果:依旧可以访问
docker03容器内:
原理:这是一种备份的机制(而不是共享机制)
多个MySQL实现数据共享(两个MySQL公用一个数据库)
[root@iZ2ze3omirvragaujkhihjZ /]# docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=hippo --name mysql01 mysql:5.7
[root@iZ2ze3omirvragaujkhihjZ /]# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=hippo --name mysql02 --volume-from mysql01 mysql:5.7
# 这个时候,可以实现两个容器数据共享!
结论:
容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。
但是一旦你持久化到了本地,这个时候,本地的数据是不会删除的!