1. 前言
容器之间同步
2. 启动容器
2.1 创建并启动docker01容器
# 1. 用自己的镜像创建一个容器,以镜像名运行,不写版本默认回去找最新版本(创建的时候指定了1.0,这里需要加上) docker run -it --name docker01 henggao/centos:1.0
运行如图
# 退出不关闭容器,Ctrl + P + Q
2.1 创建并启动docker02容器
- 继承docker01创建
# 2. 继承docker01创建docker02 docker run -it --name docker02 --volumes-from docker01 henggao/centos:1.0
2.3 进入docker01,创建文件
# 1. 进入docker01 root@docker:/home/henggao/Desktop# docker attach e40db2ed9bbd # 2. 创建文件 [root@e40db2ed9bbd /]# cd volume01 [root@e40db2ed9bbd volume01]# ls [root@e40db2ed9bbd volume01]# touch docker01.txt
在docker02中查看
[root@6e7d6f1c19fc /]# cd volume01 [root@6e7d6f1c19fc volume01]# ls docker01.txt
2.4 小结
- docker01创建的内容同步到了docker02
- 数据备份机制
- 创建docker03也可以同步
- 停止docker01,删除docker01,docker02、docker03数据依然存在。
补充:多个mysql实现数据共享
# 1. 创建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 # 2. 使用继承mysql01创建mysql02 docker run -d -p 3310:3306 -v -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql
结论:
容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。
一旦持久化到了本地,这个时候本地的数据不会删除。
疑问
- 当容器挂载到主机目录,主机目录有内容会之际同步到容器相应目录
- 如果主机目录有内容,容器目录也有内容,保留哪一个?挂载宿主机文件夹到容器里面