gpt4 book ai didi

docker - 如何将仅数据卷从一台主机移植到另一台主机?

转载 作者:IT老高 更新时间:2023-10-28 12:33:15 25 4
gpt4 key购买 nike

Working with Volumes 上的 Docker 文档中所述有所谓的 data-only 容器的概念,它提供了一个可以挂载到多个其他容器中的卷,无论这个 data-only 容器是否实际运行。

基本上,这听起来很棒。但有一件事我不明白。

这些卷(出于可移植性原因, 明确映射到主机上的文件夹,如文档所述)由 Docker 在主机上的某个内部文件夹中创建和管理(/var/docker/volumes/…)。

假设我使用了这样一个卷,然后我需要将它从一台主机迁移到另一台主机 - 我如何移植该卷? AFAICS 它具有唯一的 ID - 我可以将卷及其相应的仅数据容器复制到新主机吗?如何找出要复制的文件?或者是否有一些我尚未发现的 Docker 内置支持?

最佳答案

官方答案见 "Backup, restore, or migrate data volumes" 部分:

备份:

sudo docker run --rm --volumes-from DATA -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data
  • --rm:容器退出时移除
  • --volumes-from DATA:附加到DATA容器共享的volumes
  • -v $(pwd):/backup:绑定(bind)挂载当前目录到容器中;将 tar 文件写入
  • busybox:一个小而简单的图像 - 便于快速维护
  • tar cvf/backup/backup.tar/data:创建/data目录下所有文件的解压tar文件

恢复:

# create a new data container
$ sudo docker create -v /data --name DATA2 busybox true
# untar the backup files into the new container᾿s data volume
$ sudo docker run --rm --volumes-from DATA2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
data/
data/sven.txt
# compare to the original container
$ sudo docker run --rm --volumes-from DATA -v `pwd`:/backup busybox ls /data
sven.txt

关于docker - 如何将仅数据卷从一台主机移植到另一台主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21597463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com