(五)跨主機使用 Rex-Ray volume
上一節我們在 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 的方式都是一樣的:
- 通過
docker volume create --driver創建 volume, - 創建容器時用
-v指定上一步創建的 volume,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/242249.html
標籤:其他
