数据卷容器

让多个容器之间数据同步,例如多个mysql同步数据

  1. docker run -it --name 新容器名 --volumes-from 容器名 镜像名
  1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  2. de7b70d2f1c1 5303b29ad6f9 "/bin/sh -c /bin/bash" 5 days ago Up 5 days sms_centos
  3. docker run -it --name docker02 --volumes-from de7b70d2f1c1 5303b29ad6f9
  4. //其实后面的写容器的名或者镜像的名都无所谓,关键是它要有名的情况下,可以这么写,用id也一样可以让linux识别出唯一。
  1. docker run -it --name 新容器名 --volumes-from 容器名 镜像名

被挂载的容器叫做 “数据卷容器”

ps:首先得保证数据卷容器是已经有volume的,在前面的学习中我们知道volume的出现是需要 - v 操作 ,或者通过执行命令进行创建。那么还有没有其他方式呢?

MySql容器间共享

  1. docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
  2. docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7

总结:
docker1挂到本地文件路径,docker2挂docker1,他们是一种“硬链接”一样的原理。