Я пытаюсь заставить Ansible воссоздать существующий контейнер docker на случай, если один из смонтированных файлов изменился. Я пытался использовать docker_container
для удаления контейнера, если он существует и любой файл изменился, прежде чем развернуть его, используя docker_stack
и файл компоновки. Вот код:
- name: Template configuration files to destination
template:
...
loop:
...
register: template_files_result
- name: Get docker container name
shell: "docker ps -f 'name=some_name' -q"
register: container_id
- name: Remove container
docker_container:
name: container_id.stdout
force_kill: yes
state: absent
vars:
files_changed: "{{ template_files_result | json_query('results[*].changed') }}"
when: container_id.stdout and files_changed is any
- name: Deploy
docker_stack:
state: present
name: stack_name
compose:
- "compose.yml"
with_registry_auth: true
Однако задача Remove container
никогда ничего не делает, и я не могу понять, почему.
Чего мне не хватает?