Как заставить Ansible воссоздать контейнер docker, если смонтированные файлы изменились - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь заставить 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 никогда ничего не делает, и я не могу понять, почему.

Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...