问题
使用 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/