[[ Выполнить команду из контейнера (docker run --rm) ]]

Ansible

Выполнить команду из контейнера (docker run --rm)

ansible 2.7.15

- hosts: localhost
  become: yes
  tasks:
    - name: "docker run command"
      docker_container:
        name: "ansible_run_cmd"
        image: "mcr.microsoft.com/mssql-tools"
        detach: no
        cleanup: yes
        recreate: yes
        volumes:
          - "/host/sql:/container/sql"
        command: |
          /opt/mssql-tools/bin/sqlcmd -S "example.com:1433" -l10
          -U "username" -P "pass" -d "test" -i "/container/sql/test.sql"
      register: docker_run_result
    - debug:
        msg: "{{ docker_run_result }}"

auto_remove не хочет нормально работать с detach: no, надеюсь исправят:

 Cannot retrieve result as auto_remove is enabled
поэтому используем cleanup: yes, однако в случае неудачи контейнер не удаляется, возможно из-за этого происходит дублирование неудачных команд при повторном запуске, решается использованием recreate: yes






Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
101 +5 = 
 
practice/ansible/ansible_docker_run.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki