Модуль community.docker.docker_compose_v2_run — Запуск команды в новом контейнере сервиса Compose
Примечание
Этот модуль является частью коллекции community.docker (версия 3.13.0).
Эта коллекция может быть уже установлена, если используется пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.docker. Для использования этого модуля потребуются дополнительные компоненты. Подробнее см. Требования.
Чтобы использовать его в книге задач, укажите: community.docker.docker_compose_v2_run.
Новая версия в community.docker 3.13.0
Описание
- Использует Docker Compose для запуска команды в новом контейнере для сервиса.
- Это оболочка для
docker compose run.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Docker CLI с плагином Docker compose версии 2.18.0 или выше
- PyYAML, если используется
definition
Параметры
Параметр | Комментарии |
|---|---|
api_version aliases: docker_api_version string | Версия Docker API, работающая на Docker Host. По умолчанию используется последняя версия API, поддерживаемая этим сбором и демоном docker. Если значение не указано в задаче, вместо него будет использовано значение переменной среды Default: |
argv list / elements=string | |
build boolean | |
ca_path aliases: ca_cert, tls_ca_cert, cacert_path path | Используйте сертификат центра сертификации при проверке сервера, указав путь к файлу сертификата центра сертификации. Если значение не указано в задаче и установлена переменная среды |
cap_add list / elements=string | Возможности Linux, которые нужно добавить в контейнер. |
cap_drop list / elements=string | Возможности Linux, которые нужно удалить из контейнера. |
chdir string | Каталог для запуска команды. |
check_files_existing boolean added in community.docker 3.9.0 | Если установлено в Это может быть полезно, если файлы среды с Choices:
|
cleanup boolean | Автоматически удаляет контейнер после его завершения. Соответствует опции Choices:
|
cli_context string | Контекст Docker CLI для использования. Взаимоисключающий с |
client_cert aliases: tls_client_cert, cert_path path | Путь к файлу сертификата TLS клиента. Если значение не указано в задаче и установлена переменная среды |
client_key aliases: tls_client_key, key_path path | Путь к файлу ключа TLS клиента. Если значение не указано в задаче и установлена переменная среды |
command string | |
definition dictionary added in community.docker 3.9.0 | Файл Compose, описывающий одну или несколько служб, сетей и томов. Взаимоисключающий с Если указан, PyYAML должен быть доступен этому модулю, и должен быть указан Обратите внимание, что при использовании этого параметра будет создан временный каталог, который будет удален после завершения работы. |
detach boolean | Запускать ли команду синхронно ( Если установлено в Варианты:
|
docker_cli path | Путь к Docker CLI. Если не указан, будет искать Docker CLI на |
docker_host aliases: docker_url string | URL или путь к сокету Unix, используемый для подключения к API Docker. Для подключения к удаленному хосту укажите строку TCP-подключения. Например, Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Взаимоисключающий с |
entrypoint string | Переопределить точку входа образа контейнера. |
env dictionary | Словарь переменных среды с их соответствующими значениями, которые будут переданы команде, запущенной внутри контейнера. Значения, которые могут быть интерпретированы как числа, булевы значения или другие типы парсером YAML, должны быть заключены в кавычки (например, Обратите внимание, что если вы передаете значения с помощью шаблонов Jinja2, например |
env_files list / elements=path | По умолчанию файлы среды загружаются из файла
Путь указывается относительно каталога |
files list / elements=path добавлено в community.docker 3.7.0 | Список имен файлов Compose относительно Файлы загружаются и объединяются в указанном порядке. Взаимоисключающий с |
interactive boolean | Оставлять ли STDIN открытым, даже если не прикреплен. Варианты:
|
labels list / elements=string | Добавить или переопределить метки контейнера. |
name string | Присвоить имя контейнеру. |
no_deps boolean | Не запускать связанные сервисы. Варианты:
|
profiles list / elements=string | Список профилей для включения при запуске сервисов. Эквивалент |
project_name string | Указать имя проекта. Если не указано, имя проекта берется из базового имени Обязательно, если предоставлено |
project_src path | Путь к каталогу, содержащему файл Compose ( Если предоставлен Взаимоисключающий с |
publish list / elements=string | Опубликовать порт(ы) контейнера на хосте. |
quiet_pull boolean | |
remove_orphans boolean | Удалить контейнеры для сервисов, не определенных в файле Compose. Варианты:
|
service строка / обязательно | Служба, в которой нужно запустить команду. |
service_ports логическое | Запустить команду со всеми портами службы, включенными и сопоставленными с хостом. Варианты:
|
stdin строка | Установить stdin команды непосредственно на указанное значение. Можно использовать только, если |
stdin_add_newline логическое | |
strip_empty_ends логическое | Удаляет пустые строки из конца stdout/stderr в результате. Варианты:
|
tls логическое | Защитить подключение к API с использованием TLS без проверки подлинности сервера Docker-хоста. Обратите внимание, что если Если значение не указано в задаче, будет использовано значение переменной окружения Варианты:
|
tls_hostname строка | При проверке подлинности сервера Docker-хоста укажите ожидаемое имя сервера. Если значение не указано в задаче, будет использовано значение переменной окружения |
tty логическое | Выделить TTY. Варианты:
|
use_aliases логическое | Использовать сетевые псевдонимы службы Варианты:
|
user строка | Если указано, пользователь, с которым будет выполняться эта команда. |
validate_certs псевдонимы: tls_verify логическое | Защитить подключение к API с помощью TLS и проверить подлинность сервера Docker-хоста. Если значение не указано в задаче, будет использовано значение переменной окружения Варианты:
|
volumes список / элементы=строка | Привязка одного или нескольких томов. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.docker.docker, docker | Используйте |
check_mode | Поддержка: нет | Может работать в |
diff_mode | Поддержка: нет | При использовании режима сравнения вернёт подробности о том, что было изменено (или, возможно, нуждается в изменении в |
Примечания
Примечание
- Если вам нужно оценить переменные среды контейнера в
commandилиargv, необходимо передать команду через оболочку, например,command=/bin/sh -c "echo $ENV_VARIABLE". - Подключаемый модуль Docker Compose CLI не имеет стабильного формата вывода (см., например, https://github.com/docker/compose/issues/10872), и для основных операций также нет машиночитаемого формата вывода. Модуль пытается учесть это с помощью различных корректировок поведения, зависящих от версии, и с помощью тестирования более старых и новых версий подключаемого модуля Docker Compose CLI. В настоящее время модуль тестируется с несколькими версиями плагина между 2.18.1 и 2.23.3. Точный список версий плагина со временем изменится. Новые версии плагина Docker Compose CLI могут в любое время нарушить работу этого модуля.
- Подключитесь к демону Docker, предоставив параметры для каждой задачи или определив переменные окружения. Вы можете определить
DOCKER_HOST,DOCKER_TLS_HOSTNAME,DOCKER_API_VERSION,DOCKER_CERT_PATH,DOCKER_TLS,DOCKER_TLS_VERIFYиDOCKER_TIMEOUT. Если вы используете docker machine, запустите скрипт, поставляемый с продуктом, который настраивает среду. Он установит эти переменные для вас. Дополнительные сведения см. в https://docs.docker.com/machine/reference/env/. - Этот модуль не использует Docker SDK for Python для связи с демоном Docker. Он напрямую вызывает программу Docker CLI.
См. также
См. также
- community.docker.docker_compose_v2
-
Управление многоконтейнерными приложениями Docker с помощью подключаемого модуля Docker Compose CLI.
Примеры
- name: Run a simple command (command)
community.docker.docker_compose_v2_run:
service: foo
command: /bin/bash -c "ls -lah"
chdir: /root
register: result
- name: Print stdout
ansible.builtin.debug:
var: result.stdout
- name: Run a simple command (argv)
community.docker.docker_compose_v2_run:
service: foo
argv:
- /bin/bash
- "-c"
- "ls -lah > /dev/stderr"
chdir: /root
register: result
- name: Print stderr lines
ansible.builtin.debug:
var: result.stderr_lines
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
container_id строка | Идентификатор созданного контейнера. Возвращается: при успехе и |
rc целое число | |
stderr строка | Вывод стандартной ошибки команды контейнера. Возвращается: при успехе и |
stdout строка | Вывод стандартного вывода команды контейнера. Возвращается: при успехе и |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_v2_run_module.html