如何在远程 docker 主机上部署本地 docker 镜像?

时间:2021-06-11 18:47:08

标签: docker migration

假设有两台docker主机A和B,机器A上有一个docker镜像xyz,我想从机器A部署到机器B,怎么做?

我知道可以通过如下设置 DOCKER_HOST 远程操作容器,但这似乎需要机器 B 上已经存在 docker 镜像 xyz。另外,从镜像 xyz 创建一个 tar 文件并将其复制到机器B,然后在机器 B 上运行它是另一种方法。我想知道是否有一种方法可以直接从机器 A 执行此操作?谢谢!

docker -H "ssh://my-user@machine-b" run -i -t xyz

1 个答案:

答案 0 :(得分:0)

正如 David 所提到的,移动图像的标准方法是使用注册表。您可以自行托管(例如 Docker's registry)、使用 Hub 等 SaaS 产品或云供应商之一(例如 ECR、GCR)。注册表相对于发送导出的优点是层被重复删除,当您的图像在版本之间只有很小的变化时,可以节省带宽。此功能也通过推和拉命令内置到 docker 引擎中。

使用 save 和 load 方法,您可以通过两个命令执行此操作,通过管道传输输出,但如前所述,即使您只有很小的更改,这也会传输所有层:

docker save ${image} | docker -H ssh://${user}@${host} load