在没有docker注册的情况下,将docker图像部署到安全的容器中

我正在尝试使用ansible-container来创build和部署我的docker应用程序,但是我无法使其工作。

我有一个远程服务器,我可以通过合理的configuration。 在我的本地机器上,我使用安全容器来构build一个工作正常的Docker镜像。 运行ansible-container build之后,我的本地机器上有docker镜像。 但是,我没有得到下一步的工作。 我的目标是将Docker镜像从本地机器推送到远程服务器,然后在远程服务器上创build并启动基于此镜像的Docker容器。

我没有使用dockerregistry。 因此,我正在使用--local-images选项来执行--local-images ansible-container deploy命令,以防止它将图像推送到registry(至less这是我从文档中理解的)。 这个命令成功地创build了一个可靠的剧本,但是当我执行这个剧本时,它仍然试图从docker.ioregistry中拉出图像,当然在那里找不到它。

我认为缺less的一步是将本地docker映像推送到远程服务器,但是在这个用例中找不到任何有关容器文档的提示。 我也看到了一个可靠的docker_image模块,但据我所知这也是围绕使用registry。

如何将Docker镜像部署到远程服务器?

如果您没有dockerregistry,您需要做的是将图像保存到tar包中,然后将其上传到机器,然后将tarball导入到docker映像中。

在本地机器上将图像保存到tarball中:

 docker save --output image.tar <image> 

将tar上传到目标机器后,可以使用以下命令将其导入到docker映像中:

 docker import image.tar <image-name> 

从那里,图像将在机器上,docker工人不会试图从registry中拉出。