如何在不使用存储库的情况下将 Docker 镜像从一台计算机传输到另一台计算机,无论是私有还是公共?
我习惯在 VirtualBox 中播放并创建自己的图像,当它完成后,我尝试部署到其他机器上以实现真正的用途。
由于它基于自己的映像(如 Red Hat Linux),因此无法从 Dockerfile 重新创建它。
我可以使用简单的命令吗?或另一种解决方案
看来 save / export 可以达到类似的目的,看看Docker 中保存和导出有什么区别? ,我更喜欢我的案例的save
命令。
您需要将 Docker 镜像保存为 tar 文件:
docker save -o <path for generated tar file> <image name>
然后使用常规文件传输工具(如cp
或scp
将映像复制到新系统。之后,您将不得不将图像加载到 Docker 中:
docker load -i <path to image tar file>
PS:你可能需要sudo
所有命令。
编辑:您应该使用 - o 添加文件名(而不仅仅是目录),例如:
docker save -o c:/myfile.tar centos:16
要将映像保存到任何文件路径或共享 NFS 位置,请参阅以下示例。
通过执行以下操作获取图片 ID:
sudo docker images
假设您有一个 id 为 “matrix-data” 的图像。
使用 id 保存图像:
sudo docker save -o /home/matrix/matrix-data.tar matrix-data
将映像从路径复制到任何主机。现在使用以下命令导入到本地 Docker 安装:
sudo docker load -i <path to copied image file>