正如 Docker 关于 使用卷 的文档中所描述的,有所谓的纯 数据 容器的概念,它提供了一个可以挂载到多个其他容器中的卷,无论纯数据容器是否实际运行。
基本上,这听起来很棒。但有一件事我不明白。
这些卷(出于可移植性原因, 未 明确映射到主机上的文件夹,如文档所述)由 Docker 在主机上的某个内部文件夹中创建和管理( /var/docker/volumes/…
)。
假设我使用这样的卷,然后我需要将它从一台主机迁移到另一台主机 - 我如何移植卷? AFAICS 它具有唯一的 ID - 我可以将卷及其相应的仅数据容器复制到新主机吗?如何找出要复制的文件?或者是否有一些我尚未发现的 Docker 内置支持?
原文由 Golo Roden 发布,翻译遵循 CC BY-SA 4.0 许可协议
“备份、恢复或迁移数据卷” 部分提供了官方答案:
备份:
--rm
: 容器退出时移除--volumes-from DATA
:附加到数据容器共享的卷-v $(pwd):/backup
:绑定挂载当前目录到容器中;将 tar 文件写入busybox
:一个小而简单的图像 - 适合快速维护tar cvf /backup/backup.tar /data
: 为 /data 目录下的所有文件创建一个未压缩的 tar 文件恢复: