Man*_*uky 3 ansible docker ansible-container
我正在尝试使用 ansible-container 创建和部署我的 docker 应用程序,但我无法让它工作。
我有一个远程服务器,我可以通过 ansible 进行配置。在我的本地机器上,我使用 ansible-container 来构建一个运行良好的 docker 镜像。运行后ansible-container build,我的本地机器上有 docker 映像。但是,我没有下一步工作。我的目标是将 docker 镜像从我的本地机器推送到远程服务器,然后在远程服务器上基于这个镜像创建并启动一个 docker 容器。
我没有使用 docker 注册表。因此,我正在使用命令--local-images选项,ansible-container deploy以防止它将图像推送到注册表(至少这是我从文档中了解到的)。这个命令成功创建了一个 ansible playbook,但是当我执行这个 playbook 时,它仍然尝试从 docker.io 注册表中提取图像,当然在那里找不到它。
我认为缺少的步骤是将本地 docker 映像推送到远程服务器,但我在 ansible-container 文档中找不到此用例的任何提示。我还查看了ansible docker_image 模块,但据我所知,这也以使用注册表为中心。
如何使用 ansible 将 docker 映像部署到远程服务器?
如果您没有 docker 注册表,您需要做的是将图像保存到 tarball 中,然后将其上传到机器,然后将 tarball 导入回 docker 图像中。
在本地机器上将图像保存到 tarball 中:
docker save --output image.tar <image>
Run Code Online (Sandbox Code Playgroud)
将 tar 上传到目标机器后,您可以使用以下命令将其导入回 docker 镜像:
docker import image.tar <image-name>
Run Code Online (Sandbox Code Playgroud)
从那时起,映像将在机器上,并且 docker 不会尝试从注册表中拉取。
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |