容器学习 之 管理Volumn(十七)
Data Volume 中存放的是重要的應用數據,如何管理 volume 對應用至關重要。前面我們主要關注的是 volume 的創建、共享和使用,本節將討論如何備份、恢復、遷移和銷毀 volume。
備份
因為 volume 實際上是 host 文件系統中的目錄和文件,所以 volume 的備份實際上是對文件系統的備份。
比如說 搭建本地Registry
所有的本地鏡像都存在 host 的 /myregistry 目錄中,我們要做的就是定期備份這個目錄。
恢復
volume 的恢復也很簡單,如果數據損壞了,直接用之前備份的數據拷貝到 /myregistry 就可以了。
遷移
如果我們想使用更新版本的 Registry,這就涉及到數據遷移,方法是:
銷毀
可以刪除不再需要的 volume,但一定要確保知道自己正在做什么,volume 刪除后數據是找不回來的。
docker 不會銷毀 bind mount,刪除數據的工作只能由 host 負責。對于 docker managed volume,在執行 docker rm 刪除容器時可以帶上 -v 參數,docker 會將容器使用到的 volume 一并刪除,但前提是沒有其他容器 mount 該 volume,目的是保護數據,非常合理。
如果刪除容器時沒有帶 -v 呢?這樣就會產生孤兒 volume,好在 docker 提供了 volume 子命令可以對 docker managed volume 進行維護。請看下面的例子:
容器 bbox 使用的 docker managed volume 可以通過 docker volume ls 查看到。
刪除 bbox:
因為沒有使用 -v,volume 遺留了下來。對于這樣的孤兒 volume,可以用 docker volume rm 刪除:
如果想批量刪除孤兒 volume,可以執行:
docker volume rm $(docker volume ls -q)總結
以上是生活随笔為你收集整理的容器学习 之 管理Volumn(十七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 容器学习 之 共享数据(十六)
- 下一篇: 安卓学习 之 概述(一)