上一節咱們在 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