如何在不使用存储库的情况下将 Docker 映像从一台机器传输到另一台机器,无论是私有的还是公共的?
我在 VirtualBox 中创建自己的映像,完成后我尝试部署到其他机器以进行实际使用。
由于它基于我自己的镜像(如 Red Hat Linux),因此无法从 Dockerfile 重新创建它。我的 dockerfile 不容易移植。
我可以使用简单的命令吗?还是另一种解决方案?
原文由 Larry Cai 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在不使用存储库的情况下将 Docker 映像从一台机器传输到另一台机器,无论是私有的还是公共的?
我在 VirtualBox 中创建自己的映像,完成后我尝试部署到其他机器以进行实际使用。
由于它基于我自己的镜像(如 Red Hat Linux),因此无法从 Dockerfile 重新创建它。我的 dockerfile 不容易移植。
我可以使用简单的命令吗?还是另一种解决方案?
原文由 Larry Cai 发布,翻译遵循 CC BY-SA 4.0 许可协议
通过 SSH 传输 Docker 映像,即时压缩内容:
docker save <image> | bzip2 | ssh user@host docker load
请注意, docker load
自动为您解压缩图像。它支持 gzip
, bzip2
和 xz
。
将 pv
放在管道中间以查看传输情况也是一个好主意:
docker save <image> | bzip2 | pv | ssh user@host docker load
@Thomas Steinbach 的重要说明:在高带宽上, bzip
将无法足够快地压缩。如果您可以以 10 MB/s 或更高的速度上传, gzip
/ gunzip
将比 bzip2
快得多。
如果您使用 3G 并且您的互联网速度很慢, @jgmjgm 建议您可以使用 xz
:它提供更高的压缩比。
原文由 kolypto 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答836 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.3k 阅读
1 回答1.6k 阅读
1.1k 阅读
您需要将 Docker 映像保存为 tar 文件:
然后使用常规文件传输工具将您的图像复制到新系统,例如
cp
、scp
或rsync
(大文件首选)。之后,您必须将图像加载到 Docker 中:PS:您可能需要
sudo
所有命令。编辑:您应该使用 -o 添加文件名(不仅仅是目录),例如: