当前位置: 首页 > 知识库问答 >
问题:

如何保存所有Docker图像并复制到另一台机器

孟韬
2023-03-14
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
u14_py269           latest              6a1ec0b508b3        4 days ago          885.9 MB
u12_py273           latest              c2a804894851        4 days ago          686 MB
u12_core            latest              0d61eba80df2        4 days ago          629.1 MB
c6_py266            latest              cb1a94742d59        4 days ago          1.32 GB
c6_core             latest              77c2ed19d87f        4 days ago          1.278 GB
c7_py275            latest              bb1d3de68452        4 days ago          1.117 GB
c7_core             latest              ca14a76e9cca        4 days ago          1.081 GB
u14_py35            latest              d110c7e4a1f5        5 days ago          914.5 MB
u14_py34            latest              085a37cb8614        5 days ago          830.7 MB
u14_py276           latest              8927c6167930        5 days ago          834.1 MB
u14_core            latest              93ead5abc25b        5 days ago          776.9 MB
centos              centos6             36877b5acebb        5 days ago          228.9 MB
ubuntu              latest              36248ae4a9ac        5 days ago          188 MB
ubuntu              12.04               94a7cb19a65b        5 days ago          137.8 MB
edgester/gerrit     latest              ce4e3238052a        6 days ago          735.2 MB
u14_as374_py276     latest              fa5fb7189d70        11 days ago         1.497 GB
c721_as373_py275    latest              03ccf6961d0c        11 days ago         844.3 MB
c721_as373_py35     latest              b5fece3dd45b        11 days ago         1.127 GB
c171_con_core       latest              8af0d24a38a0        2 weeks ago         377.2 MB
u14_as374_php55     latest              29df638e363a        3 weeks ago         1.073 GB
j_u14_as374_php55   latest              29df638e363a        3 weeks ago         1.073 GB
centos              centos7             c8a648134623        8 weeks ago         196.6 MB
centos              latest              c8a648134623        8 weeks ago         196.6 MB
j_u14_as374_py276   latest              28f379d60882        10 weeks ago        871.5 MB
ubuntu              14.04               89d5d8e8bafb        10 weeks ago        187.9 MB

共有1个答案

容飞掣
2023-03-14

如果想要一次导出所有图像,请创建一个大的tar文件:

docker save $(docker images -q) -o /path/to/save/mydockersimages.tar

如果要在一个.tar文件中保存多个图像:

IDS=$(docker images | awk '{if ($1 ~ /^(debian|centos)/) print $3}')
docker save $IDS -o /path/to/save/somedockersimages.tar

最后,如果要导出多个多映像,每个映像使用一个.tar文件(非磁盘效率:公共层保存在每个.tar文件中):

docker images | awk '{if ($1 ~ /^(openshift|centos)/) print $1 " " $2 " " $3 }' | tr -c "a-z A-Z0-9_.\n-" "%" | while read REPOSITORY TAG IMAGE_ID
do
  echo "== Saving $REPOSITORY $TAG $IMAGE_ID =="
  docker  save   -o /path/to/save/$REPOSITORY-$TAG-$IMAGE_ID.tar $IMAGE_ID
done
docker images | sed '1d' | awk '{print $1 " " $2 " " $3}' > mydockersimages.list

在远程计算机上,您可以load(导入)映像:

docker load -i /path/to/save/mydockersimages.tar

并标记导入的图像:

while read REPOSITORY TAG IMAGE_ID
do
        echo "== Tagging $REPOSITORY $TAG $IMAGE_ID =="
        docker tag "$IMAGE_ID" "$REPOSITORY:$TAG"
done < mydockersimages.list

有关保存/加载的更多信息,请阅读:如何在不使用存储库的情况下将Docker映像从一台主机复制到另一台主机

 类似资料:
  • 使用时,保存的图像是独立的,因此图像的大小会变大。(~对于10个图像,大小约为9GB) 在提取docker图像后,我探索: 有没有办法有效地导出图像? 注:我已经提到了这一点。这个问题不是它的重复。它没有解决我上面提到的用例。

  • 问题内容: 我在本地计算机上为postgres创建了一个docker卷。 然后,我使用了该卷并运行了一个docker。 之后,我做了一些数据库操作,这些操作自动存储在postgres-data中。现在,我想将该卷从本地计算机复制到另一台远程计算机。怎么做一样。 注意-数据库大小非常大 问题答案: 如果第二台计算机启用了SSH,则可以在第一台计算机上使用Alpine容器来映射该卷,将其捆绑并发送到第

  • 我如何将Docker映像从一台机器传输到另一台机器,而不使用存储库,不管是私有的还是公共的? 我在VirtualBox中创建自己的映像,当映像完成后,我尝试将其部署到其他机器上以获得真正的使用。 由于它是基于我自己的基于映像的(像Red Hat Linux一样),所以不能从DockerFile重新创建它。我的dockerfile不容易移植。 有简单的命令我可以使用吗?还是另一种解决方案?

  • 问题内容: 如何在不使用存储库的情况下将Docker映像从一台计算机转移到另一台计算机,无论是私有的还是公共的? 我在VirtualBox中创建自己的映像,完成后,我尝试部署到其他计算机上以实际使用。 由于它基于我自己的映像(例如Red Hat Linux),因此无法从Dockerfile重新创建它。我的dockerfile不容易移植。 我可以使用简单的命令吗?还是其他解决方案? 问题答案: 您将

  • 问题内容: 我正在尝试使用Docker API从另一台机器连接到docker守护进程。我能够成功执行以下命令: 但是当我使用真实的IP地址时不是: 为什么使用非本地IP时无法连接? 我在Vagrantfile中使用带有以下内容的Vagrant VM: 以下是iptables: 问题答案: 遇到类似的问题,在这里我没有看到的一件事是您需要启动docker来侦听网络和unix套接字。主机上的所有常规d

  • 问题内容: 在我的应用程序中,我在div中有一个图像,一个按钮。 我想旋转显示的图像,并在使用jquery单击按钮时保存旋转的图像。 我已经使用了代码: http://code.google.com/p/jquery-rotate/ 和jQuery代码: html代码: 当我使用上述代码时,有两个图像,一个是旧图像,另一个是旋转图像。 在这里我想旋转相同的图像并仅显示旋转的图像。并将旋转的图像保存