在没有 docker 机器的情况下将 docker 镜像传送到多个服务器

在没有 docker 机器的情况下将 docker 镜像传送到多个服务器

我有几台机器在隔离环境中运行。可以通过具有公共 IP 地址的堡垒机访问它们。我目前正在尝试将本地计算机中创建的 Docker 映像自动分发到隔离环境中的计算机。

目前我有以下命令:

docker save test/myapp  |  gzip  | pv | ssh ubuntu@bastion "cat > remote"

此命令将文件复制到堡垒机。问题是我不想在堡垒机驱动器中保存任何内容。

我想在堡垒机中编写一个脚本,将映像传递到没有公共 IP 地址的隔离环境中的所有计算机。

我认为我应该在堡垒机中有某种脚本来从管道获取输入。

该脚本应向每台计算机发出 ssh 命令,并在加载映像命令中运行 docker。使用 docker 机器很容易做到这一点,但我无法使用它,因为它需要互联网连接。有任何想法吗?

简而言之:我想通过堡垒服务器将 docker 映像从本地计算机传递到多个服务器。

我对这种脚本编写很陌生,所以如果我的问题很微不足道,我很抱歉,但到目前为止我还无法解决它。

答案1

可以像这样使用多个 ssh 管道:

docker save testi/myapp  | gzip  | pv | ssh ubuntu@bastion "cat | pv | ssh ubuntu@host \"docker load\" "

该命令通过堡垒将文件加载到主机,并且文件不保存在堡垒机中。

相关内容