Выполнить команду из контейнера (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
Обсуждение