容器数据卷
目的:实现多个容器数据同步
启动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,一旦把容器的数据持久化到了本地,无论如何删除容器的数据,本地的数据是不会删除的!