0
点赞
收藏
分享

微信扫一扫

10_23_Docker—数据卷容器【容器之间数据的同步】


数据卷容器

--volumes-from

例子:docker02的容器同步docker01容器的数据
docker run -it --name docker02 --volumes-from docker01 kuangshen/centos:1.0

多个mysql同步数据!

10_23_Docker—数据卷容器【容器之间数据的同步】_mysql

# 启动三个容器,通过我们刚才自己写的镜像启动。

10_23_Docker—数据卷容器【容器之间数据的同步】_mysql_02

使用ctrl + p + q  # 退出当前容器

# 测试一:去启动docker02的容器同步docker01容器的数据

10_23_Docker—数据卷容器【容器之间数据的同步】_容器_03


注:

10_23_Docker—数据卷容器【容器之间数据的同步】_mysql_04

# 测试二:在docker01容器中的volume01下创建一个文件,查看docker02容器中的volume01下有没有同步出来对应的文件

10_23_Docker—数据卷容器【容器之间数据的同步】_mysql_05

# 测试三:去启动docker03的容器同步docker01容器的数据,然后在docker03容器中的volume01下创建一个文件,查看docker01容器中的volume01下有没有同步出来对应的文件

docker03容器内:【​​--volumes-from​​】

10_23_Docker—数据卷容器【容器之间数据的同步】_运维_06


docker01容器内:

10_23_Docker—数据卷容器【容器之间数据的同步】_数据_07

测试四:将docker01停止并删掉,docker02和03上的文件是否还能访问

结果:依旧可以访问

10_23_Docker—数据卷容器【容器之间数据的同步】_mysql_08


docker03容器内:

10_23_Docker—数据卷容器【容器之间数据的同步】_docker_09

原理:这是一种备份的机制(而不是共享机制)

10_23_Docker—数据卷容器【容器之间数据的同步】_mysql_10


多个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

# 这个时候,可以实现两个容器数据共享!

结论:

容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。
但是一旦你持久化到了本地,这个时候,本地的数据是不会删除的!


举报

相关推荐

0 条评论