1. 程式人生 > >跨主機使用 Rex-Ray volume - 每天5分鐘玩轉 Docker 容器技術(77)

跨主機使用 Rex-Ray volume - 每天5分鐘玩轉 Docker 容器技術(77)

sys float run 相同 ddn mysq pro clas 方式

上一節我們在 docker1 上的 MySQL 容器中使用了 Rex-Ray volume mysqldata,更新了數據庫。現在容器已經刪除,今天將演示在 docker2 中重新使用這個卷。

在 dokcer2 上執行如下命令,啟動 MySQL 容器:

docker run --name mydb_on_docker2 -v mysqldata:/var/lib/mysql -d mysql

新容器也使用相同的卷 mysqldata,不過這次不需要指定環境變量 MYSQL_ROOT_PASSWORD,因為密碼已經保存到 mysqldata 裏面了。

現在 Rex-Ray volume

mysqldata 已經掛載到 docker2:

技術分享

同樣可以按照之前的方法用 docker volume inspect docker inspect 查看具體的 mount 信息,這裏不再贅述。

按照如下步驟驗證 MySQL 的數據:

技術分享

① 進入到容器 mydb_on_docker2

② 登錄數據庫,密碼與 mydb_on_docker1 一致。

③ 切換到數據庫 mysql

④ 確認之前由 mydb_on_docker1 創建的表和寫入的數據完好無損。

技術分享


Rex-Ray 可以提供跨主機的 volume,其生命周期不依賴 Docker Host 和容器,是 stateful 容器理想的數據存儲方式。

如何使用其他 storage provider 的 volume driver,部署和配置 storage provider 會有所不同,不過 Docker 在使用 volume 的方式都是一樣的:

  1. 通過 docker volume create --driver 創建 volume。

  2. 創建容器時用 -v 指定上一步創建的 volume。


Docker 的數據管理就討論到這裏,下一節開始學習容器的監控方案。


書籍:


1.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

2.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html


技術分享

跨主機使用 Rex-Ray volume - 每天5分鐘玩轉 Docker 容器技術(77)