上一节咱们在 docker1 上的 MySQL 容器中使用了 Rex-Ray volume mysqldata,更新了数据库。如今容器已经删除,今天将演示在 docker2 中从新使用这个卷。html
在 dokcer2 上执行以下命令,启动 MySQL 容器:mysql
docker run --name mydb_on_docker2 -v mysqldata:/var/lib/mysql -d mysqlsql
新容器也使用相同的卷 mysqldata
,不过此次不须要指定环境变量 MYSQL_ROOT_PASSWORD
,由于密码已经保存到 mysqldata
里面了。docker
如今 Rex-Ray volume mysqldata
已经挂载到 docker2:数据库
一样能够按照以前的方法用 docker volume inspect
和 docker inspect
查看具体的 mount 信息,这里再也不赘述。ide
按照以下步骤验证 MySQL 的数据:学习
① 进入到容器 mydb_on_docker2
。code
② 登陆数据库,密码与 mydb_on_docker1
一致。htm
③ 切换到数据库 mysql
。生命周期
④ 确认以前由 mydb_on_docker1
建立的表和写入的数据完整无缺。
Rex-Ray 能够提供跨主机的 volume,其生命周期不依赖 Docker Host 和容器,是 stateful 容器理想的数据存储方式。
如何使用其余 storage provider 的 volume driver,部署和配置 storage provider 会有所不一样,不过 Docker 在使用 volume 的方式都是同样的:
经过 docker volume create --driver
建立 volume。
建立容器时用 -v
指定上一步建立的 volume。
Docker 的数据管理就讨论到这里,下一节开始学习容器的监控方案。
书籍:
1.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html