如何在不通过存储库的情况下将Docker镜像从一台主机复制到另一台主机?

如何在不使用存储库的情况下将Docker镜像从一台机器转移到另一台机器,无论是私有还是公共?

我习惯在virtualbox中播放和创建自己的图像,并在完成后尝试部署到其他机器以实现实际使用。

由于它基于自己的图像(如redhat),因此无法从Dockerfile重新创建。

有没有我可以使用的简单命令? 还是另一种解决方案

更新似乎保存/导出可以实现类似的目的,请参阅Docker中保存和导出之间的区别是什么?并且我更喜欢save命令。


您需要将docker映像保存为tar文件:

docker save -o <path for generated tar file> <image name>

然后使用常规文件传输工具(如cpscp将图像复制到新系统。 之后,您将不得不将图像加载到docker中:

docker load -i <path to image tar file>

PS:您可能需要sudo所有命令。


通过SSH传输Docker镜像,即时将内容进行快速切换:

docker save <image> | bzip2 | 
     ssh user@host 'bunzip2 | docker load'

pv放在管道中间以查看转移的进展情况也是一个好主意:

docker save <image> | bzip2 | pv | 
     ssh user@host 'bunzip2 | docker load'

要将图像保存到任何文件路径或共享nfs,请参阅以下示例。

通过执行获取图像ID:

sudo docker images

假设你有图像ID“矩阵数据”

用id保存图片:

sudo docker save -o /home/matrix/matrix-data.tar matrix-data

将路径中的图像复制到任何主机现在使用以下命令导入到本地泊坞窗:

sudo docker load -i <path to copied image file>

希望这使得更清楚。

谢谢

链接地址: http://www.djcxy.com/p/3011.html

上一篇: How to copy docker images from one host to another without via repository?

下一篇: Copying files from host to Docker container