容器数据卷

 

 

目的:实现多个容器数据同步

 

 

 

 

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

 

1,启动docker01:

 

 

 

 

2,启动docker02:

[root@CentOs ~]# docker run -it --name docker02 --volumes-from docker01 wz/centos:1.0
                (这里相当于java中的son extend father ,这时docker01就是数据卷)

 

 

 

 

 

3,测试:docker01中创建的,也会同步到docker02中

 

 

 

 

4,创建docker03 ,之后继续测试

 

docker run -it --name docker03 --volumes-from docker01 wz/centos:1.0

 

 

 

 

5,测试:

我们删除docker01容器,会对docker03有影响吗?

答案是没有的!同理,docker02也不会有影响!

 

 

 

 

 

6,三者的关系:

有点类似引用

三者建立关系后,数据可以同步。但如果引用的文件出现了问题,比如被删除,对其他二者不会产生影响!

 

 

 

 

 

 

7,多个mysql实现共享

启动mysql01:

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

启动mysql02:

docker run -d -p 3311:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7

(注意:02的端口号不能与01冲突;02可以不用写配置文件了)

 

 

 

 

 

8,结论:

1,容器之间配置信息的传递,数据卷的生命周期会一直持续到没有容器使用为止!

如何理解:相当于有一种病毒传播,除非把所有的同种病毒都杀死,否则这个病毒的生命周期是不会结束的。

2,一旦把容器的数据持久化到了本地,无论如何删除容器的数据,本地的数据是不会删除的!

 

posted @ 2022-03-20 17:40  屯子里唯一的架构师  阅读(34)  评论(0编辑  收藏  举报