如Docker文档中有关使用卷的文档中所述,存在所谓的仅数据容器的概念,该容器提供了可以安装到多个其他容器中的卷,而无论该仅数据容器是否正在运行。
基本上,这听起来很棒。但是有一件事我不明白。
这些卷(由于可移植性原因,未明确映射到主机上的文件夹,如文档所述)由Docker在主机上的某个内部文件夹中创建和管理/var/docker/volumes/…
。
假设我使用了这样一个卷,然后需要将其从一台主机迁移到另一台主机-如何移植该卷?AFAICS具有唯一的ID-我可以直接将卷及其相应的仅数据容器复制到新主机吗?如何找出要复制的文件?还是我还没有发现Docker内置的一些支持?
docker run --volumes-from <data container> ubuntu tar -cO <volume path> | gzip -c > volume.tgz
这不依赖于卷的实现细节。然后在第二台计算机上使用tar导入数据。