docker - 通过 Ansible 执行 docker-compose pull

标签 docker docker-compose ansible

问题

使用 Ansible docker_compose 模块是否可以在不实际启动的情况下执行 docker-compose pull 和/或 docker-compose build服务?


我尝试了什么?

我尝试过:

    - name: Build & pull services
      become: yes
      docker_compose:
        project_src: "{{ installation_path }}"
        build: yes
        state: present
        stopped: yes

但这似乎也启动了服务(即使我已经stopped: yes)。


用例

实际情况是启动服务导致端口与现有进程冲突。所以我们的想法是:

  • 停止冲突进程
  • 启动docker服务

问题是这些进程之一是解析 DNS 查询的进程,因此停止进程并启动 docker 服务会导致尝试从 docker 注册表中获取 docker 镜像,但失败并出现 DNS 解析错误。

我的想法是:

  • 拉取所有必要的图像
  • 停止冲突进程
  • 启动docker服务

最佳答案

根据 this Github issue这是不可能的,并且在不久的将来可能会继续存在,因为 docker_* is not actively maintained .

关于docker - 通过 Ansible 执行 docker-compose pull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60193383/

相关文章:

java - 使用Docker构建一个Maven项目并提交为Flink作业

ubuntu - Docker 容器卷不写入主机

docker - 如何将参数传递给容器中的 python 脚本

Docker - Flutter Web 部署 - 无法访问站点

docker - 如何从另一个 docker compose 文件运行 docker compose 文件?

regex - 在 Ansible 中使用 regex_replace 提取特定字符串

ansible - Saltstack 中的 register(Ansible) 相当于什么?

amazon-web-services - 在本地在 IntelliJ 中使用 Java 运行 AWS Lambda - 函数调用容器没有响应(Docker 有问题?)

用于 elasticsearch 7.0.1 和 kibana 7.0.1 的 docker-compose.yml

ansible - 如何检查我是否从 AWX 或命令行运行 Ansible?