Spec-Zone.ru › Ansible

Модуль community.docker.docker_container — управление контейнерами Docker

Примечание

Этот модуль входит в коллекцию community.docker (версия 5.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.docker. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.docker.docker_container.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управление жизненным циклом контейнеров Docker.
  • Поддерживается режим проверки. Запустите с параметрами --check и --diff, чтобы просмотреть различия в конфигурации и список действий, которые будут выполнены.

Требования

Следующие требования должны быть соблюдены на хосте, который выполняет этот модуль.

  • Docker API >= 1.25
  • paramiko (при использовании SSH с use_ssh_client=false)
  • pyOpenSSL (при использовании TLS)
  • pywin32 (при использовании именованных каналов в Windows 32)
  • requests

Параметры

Параметр

Комментарии

api_version

псевдонимы: docker_api_version

string

Версия Docker API, работающая на хосте Docker.

По умолчанию используется последняя версия API, поддерживаемая этой коллекцией и демоном Docker.

Если значение не указано в задаче, вместо него будет использовано значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, будет использовано значение по умолчанию.

По умолчанию: "auto"

auto_remove

boolean

Включить автоматическое удаление контейнера на стороне демона после завершения процесса контейнера.

Если container_default_behavior=compatibility, для этого параметра используется значение по умолчанию false.

Варианты:

  • false
  • true

blkio_weight

integer

Относительный вес блочного ввода-вывода (Block IO), от 10 до 1000.

ca_path

псевдонимы: ca_cert, tls_ca_cert, cacert_path

path

Использовать сертификат центра сертификации (CA) для проверки сервера, указав путь к файлу сертификата CA.

Если значение не указано в задаче и задана переменная окружения DOCKER_CERT_PATH, будет использоваться файл ca.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Ранее этот параметр назывался ca_cert, а в community.docker 3.6.0 был переименован в ca_path. Старое имя добавлено как псевдоним и по-прежнему может использоваться.

cap_drop

list / elements=string

Список возможностей, которые нужно удалить из контейнера.

capabilities

list / elements=string

Список возможностей, которые нужно добавить в контейнер.

Это эквивалентно docker run --cap-add или параметру docker-compose cap_add.

cgroup_parent

string

добавлен в community.docker 1.1.0

Указать родительскую группу cgroup для контейнера.

cgroupns_mode

string

добавлен в community.docker 3.0.0

Указать режим пространства имён cgroup для контейнера.

В Docker CLI этот параметр называется просто cgroupns.

Варианты:

  • "host"
  • "private"

cleanup

boolean

Использовать с detach=false, чтобы удалить контейнер после успешного выполнения.

Варианты:

  • false ← (по умолчанию)
  • true

client_cert

псевдонимы: tls_client_cert, cert_path

path

Путь к файлу TLS-сертификата клиента.

Если значение не указано в задаче и задана переменная окружения DOCKER_CERT_PATH, будет использоваться файл cert.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

client_key

псевдонимы: tls_client_key, key_path

path

Путь к файлу TLS-ключа клиента.

Если значение не указано в задаче и задана переменная окружения DOCKER_CERT_PATH, будет использоваться файл key.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

command

any

Команда, выполняемая при запуске контейнера. Команда может быть строкой или списком.

До версии 2.4 строки разбивались по запятым.

См. command_handling, где описаны различия в обработке строк и списков.

command_handling

string

добавлен в community.docker 1.9.0

По умолчанию command (если задан как список) и entrypoint преобразуются в строки без учёта правил экранирования оболочки. (При проверке идемпотентности результирующая строка разбивается с учётом правил экранирования оболочки).

Кроме того, если для command задан пустой список строк, а для entrypoint — пустой список, они обрабатываются так, как если бы эти параметры не были указаны. Это отличается от обработки идемпотентности других параметров конфигурации контейнера.

Если задано значение compatibility, которое использовалось по умолчанию до community.docker 3.0.0, сохранится текущее поведение.

Если задано значение correct, эти параметры остаются списками, а пустое значение или пустой список корректно обрабатываются при проверках идемпотентности. Это значение используется по умолчанию начиная с community.docker 3.0.0.

Варианты:

  • "compatibility"
  • "correct" ← (по умолчанию)

comparisons

dictionary

Позволяет указать, как сравнивать свойства существующих контейнеров с параметрами модуля, чтобы определить, нужно ли пересоздать или обновить контейнер.

Можно указать только параметры, соответствующие состоянию контейнера, управляемому демоном Docker, а также networks.

Должен быть словарём, в котором для параметра указано одно из значений: strict, ignore или allow_more_present.

Если указано strict, значения проверяются на равенство, а любые изменения приводят к обновлению или перезапуску. Если указано ignore, изменения игнорируются.

Значение allow_more_present допустимо только для списков, множеств и словарей. Если оно указано для списков или множеств, контейнер будет обновлён или перезапущен, только если параметр модуля содержит значение, отсутствующее в параметрах контейнера. Если это значение указано для словаря, контейнер будет обновлён или перезапущен, только если параметр модуля содержит ключ, отсутствующий в параметрах контейнера, либо если значение существующего ключа отличается.

Подстановочный параметр * можно использовать, чтобы задать одно из значений по умолчанию strict или ignore для всех сравнений, которым явно не заданы другие значения.

Подробности см. в примерах.

container_default_behavior

string

В предыдущих версиях этого модуля для различных параметров модуля использовались значения по умолчанию. Это вызывало проблемы с контейнерами, в которых для этих параметров были заданы другие значения.

Теперь по умолчанию используется значение no_defaults. Чтобы восстановить прежнее поведение, задайте значение compatibility: тогда значения по умолчанию будут использоваться, если пользователь не указал их явно.

Это влияет на параметры auto_remove, detach, init, interactive, memory, paused, privileged, read_only и tty.

Варианты:

  • "compatibility"
  • "no_defaults" ← (по умолчанию)

cpu_period

integer

Ограничить период CFS (Completely Fair Scheduler) процессора.

Более простой в использовании альтернативный параметр см. в cpus.

cpu_quota

integer

Ограничить квоту CFS (Completely Fair Scheduler) процессора.

Более простой в использовании альтернативный параметр см. в cpus.

cpu_shares

integer

Доли процессорного времени (относительный вес).

cpus

float

Указать, какую долю доступных ресурсов процессора может использовать контейнер.

Значение 1.5 означает, что будет использоваться не более полутора процессоров (ядер).

cpuset_cpus

string

Процессоры, на которых разрешено выполнение.

Например, 1,3 или 1-3.

cpuset_mems

string

Узлы памяти (MEMs), на которых разрешено выполнение: 0-3 или 0,1.

debug

boolean

Режим отладки

Варианты:

  • false ← (по умолчанию)
  • true

default_host_ip

string

добавлен в community.docker 1.2.0

Задать IP-адрес хоста, используемый по умолчанию.

Должен быть пустой строкой, адресом IPv4 или адресом IPv6.

В Docker 20.10.2 или новее следует задать пустую строку (""), чтобы привязки портов без явно указанного IP-адреса не привязывались только к IPv4. Подробности см. на странице https://github.com/ansible-collections/community.docker/issues/70.

По умолчанию модуль попытается автоматически определить это значение по параметру com.docker.network.bridge.host_binding_ipv4 сети bridge. Если автоматическое определение не удастся, будет использоваться значение 0.0.0.0.

detach

boolean

Включить отсоединённый режим, чтобы контейнер продолжал работать в фоновом режиме.

Если параметр отключён, состояние задачи будет отражать результат запуска контейнера (задача завершится ошибкой, если команда завершилась с ошибкой).

Если container_default_behavior=compatibility, для этого параметра используется значение по умолчанию true.

Варианты:

  • false
  • true

device_cgroup_rules

list / elements=string

добавлен в community.docker 3.11.0

Список правил cgroup, применяемых к контейнеру.

device_read_bps

list / elements=dictionary

Список путей к устройствам и скоростей чтения с устройств (байт в секунду).

path

string / обязательный

Путь к устройству в контейнере.

rate

string / обязательный

Ограничение скорости чтения устройства в формате <number>[<unit>].

Число должно быть положительным целым числом. Единицей измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, используются байты.

device_read_iops

list / elements=dictionary

Список устройств и скорости чтения с устройств (операций ввода-вывода в секунду).

path

string / обязательный

Путь к устройству в контейнере.

rate

integer / обязательный

Ограничение скорости чтения устройства.

Должно быть положительным целым числом.

device_requests

list / elements=dictionary

добавлен в community.docker 0.1.0

Позволяет запрашивать дополнительные ресурсы, например GPU.

capabilities

list / elements=list

Список списков строк для запроса возможностей.

Элементы верхнего уровня объединяются по логическому ИЛИ, а элементы каждого вложенного списка — по логическому И.

Драйвер пытается удовлетворить требования одного из вложенных списков.

Доступные возможности драйвера nvidia можно найти на странице https://github.com/NVIDIA/nvidia-container-runtime.

count

integer

Количество запрашиваемых устройств.

Задайте -1, чтобы запросить все доступные устройства.

device_ids

list / elements=string

Список идентификаторов устройств.

driver

string

Драйвер, используемый для этого устройства.

options

dictionary

Параметры, специфичные для драйвера.

device_write_bps

list / elements=dictionary

Список устройств и скоростей записи на устройства (байт в секунду).

path

string / обязательный

Путь к устройству в контейнере.

rate

string / обязательный

Ограничение скорости чтения устройства в формате <number>[<unit>].

Число должно быть положительным целым числом. Единицей измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, используются байты.

device_write_iops

list / elements=dictionary

Список устройств и скорости записи на устройства (операций ввода-вывода в секунду).

path

string / обязательный

Путь к устройству в контейнере.

rate

integer / обязательный

Ограничение скорости чтения устройства.

Должно быть положительным целым числом.

devices

list / elements=string

Список привязок устройств хоста, добавляемых в контейнер.

Каждая привязка задаётся в формате <path_on_host>:<path_in_container>:<cgroup_permissions>.

dns_opts

list / elements=string

Список параметров DNS.

dns_search_domains

list / elements=string

Список пользовательских доменов поиска DNS.

dns_servers

list / elements=string

Список пользовательских DNS-серверов.

docker_host

псевдонимы: docker_url

string

URL или путь к сокету Unix, используемые для подключения к API Docker. Для подключения к удаленному хосту укажите строку TCP-подключения. Например, tcp://192.0.2.23:2376. Если для шифрования подключения используется TLS, модуль автоматически заменит tcp в URL подключения на https.

Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения DOCKER_HOST. Если переменная окружения не задана, будет использоваться значение по умолчанию.

По умолчанию: "unix:///var/run/docker.sock"

domainname

string

Доменное имя контейнера.

entrypoint

list / elements=string

Команда, переопределяющая значение ENTRYPOINT образа по умолчанию.

См. command_handling, чтобы узнать, чем отличается обработка строк и списков.

env

dictionary

Словарь пар «ключ — значение».

Значения, которые YAML-парсер может интерпретировать как числа, логические значения или другие типы, необходимо заключать в кавычки (например, "true"), чтобы избежать потери данных.

Обратите внимание: если вы передаете значения с помощью шаблонов Jinja2, например "{{ value }}", необходимо добавить | string, чтобы Ansible не преобразовывал строки, такие как "true", обратно в логические значения. Правильно использовать "{{ value | string }}".

env_file

path

Путь к файлу, находящемуся на целевом узле и содержащему переменные окружения FOO=BAR.

Если переменная также указана в env, ее значение env будет иметь приоритет.

etc_hosts

dictionary

Словарь сопоставлений имен хостов и IP-адресов, где каждое имя хоста является ключом словаря. Каждое имя хоста будет добавлено в файл /etc/hosts контейнера.

Вместо IP-адреса также можно использовать специальное значение host-gateway, которое разрешается в IP-адрес шлюза хоста и позволяет контейнерам подключаться к службам, работающим на хосте.

exposed_ports

псевдонимы: exposed, expose

list / elements=string

Список дополнительных портов контейнера, сообщающий Docker, что контейнер во время выполнения прослушивает указанные сетевые порты.

Если порт уже открыт с помощью EXPOSE в Dockerfile, повторно открывать его не нужно.

force_kill

псевдонимы: forcekill

boolean

Использовать команду kill при остановке работающего контейнера.

Варианты:

  • false ← (по умолчанию)
  • true

groups

list / elements=string

Список дополнительных имен и/или идентификаторов групп, от имени которых будет работать процесс контейнера.

healthcheck

dictionary

Настройка проверки, которая определяет, являются ли контейнеры этой службы «исправными».

Подробные сведения о работе проверок состояния см. в документации по инструкции Dockerfile HEALTHCHECK.

Параметры healthcheck.interval, healthcheck.timeout, healthcheck.start_period и healthcheck.start_interval задаются как интервалы времени. Они принимают строку длительности в формате, например: 5h34m56s, 1m30s и т. д. Поддерживаются единицы измерения us, ms, s, m и h.

См. также state=healthy.

interval

string

Интервал между выполнениями проверки.

По умолчанию демон Docker использует 30s.

retries

integer

Количество последовательных сбоев, необходимое для признания контейнера неисправным.

По умолчанию демон Docker использует 3.

start_interval

string

добавлено в community.docker 3.10.0

Интервал между проверками состояния в течение начального периода. Для этого параметра требуется Docker Engine версии 25.0 или более поздней.

По умолчанию демон Docker использует 5s.

start_period

string

Начальный период, в течение которого контейнер может инициализироваться до начала отсчета повторных проверок состояния.

По умолчанию демон Docker использует 0s.

test

any

Команда для проверки состояния.

Должна быть строкой или списком. Если задан список, его первый элемент должен быть одним из следующих: NONE, CMD или CMD-SHELL.

test_cli_compatible

boolean

добавлено в community.docker 3.10.0

Если задано значение true, отсутствие healthcheck.test при заданном healthcheck не отключает проверки состояния, а лишь заменяет значения образа значениями, указанными в healthcheck. Так ведет себя Docker CLI.

Если задано значение false, отсутствие healthcheck.test отключит проверку состояния контейнера. Это классическое поведение модуля, которое в настоящее время используется по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

timeout

string

Максимальное время выполнения одной проверки.

По умолчанию демон Docker использует 30s.

healthy_wait_timeout

float

добавлено в community.docker 3.11.0

При ожидании перехода контейнера в состояние готовности, если задано state=healthy, этот параметр определяет, как долго модуль будет ждать, пока состояние контейнера не станет готовым.

Тайм-аут задается в секундах. Значение по умолчанию, 300, составляет 5 минут.

Задайте значение 0 или отрицательное значение, чтобы ждать бесконечно. Обратите внимание: в зависимости от контейнера модуль может не завершить работу.

По умолчанию: 300.0

hostname

string

Имя хоста контейнера.

image

string

Путь к репозиторию и тег, используемые для создания контейнера. Если образ не найден или параметр pull имеет значение true, образ будет загружен из реестра. Если тег не указан, будет использоваться latest.

Также может быть указан идентификатор образа. В этом случае предполагается, что образ доступен локально. Параметр pull в этом случае игнорируется.

image_comparison

string

добавлено в community.docker 3.0.0

Определяет, какой образ использовать для проверок идемпотентности, зависящих от параметров образа.

По умолчанию используется desired-image — образ, переданный модулю с помощью параметра image.

Значение current-image задает использование образа, который в данный момент применяет контейнер, если он существует. Если контейнера еще нет, используется образ, переданный модулю.

Это влияет на параметры env, env_file, exposed_ports, labels и volumes.

Варианты:

  • "desired-image" ← (по умолчанию)
  • "current-image"

image_label_mismatch

string

добавлено в community.docker 2.6.0

Определяет, как обрабатывать метки, унаследованные от образа и не заданные явно.

При значении ignore метки, имеющиеся в образе, но не указанные в labels, игнорируются. Это позволяет не указывать метки образа в labels и при этом сохранять метки comparisons strict.

При значении fail, если в образе есть метки, не заданные через labels, модуль завершится с ошибкой. Это предотвращает появление неожиданных меток из базового образа.

Предупреждение: этот параметр игнорируется, если в параметре comparisons не указано labels: strict или *: strict.

Варианты:

  • "ignore" ← (по умолчанию)
  • "fail"

image_name_mismatch

string

добавлено в community.docker 3.2.0

Определяет действия модуля, если образ совпадает, но имя образа в конфигурации контейнера отличается от имени, переданного модулю.

Этот параметр игнорируется, если в comparisons задано image: ignore.

При значении recreate (по умолчанию) контейнер будет пересоздан.

При значении ignore контейнер не будет пересоздан по этой причине. Он все еще может быть пересоздан по другим причинам. Долгое время это было поведением модуля по умолчанию, но оно может не соответствовать ожиданиям пользователей.

В community.docker 4.0.0 значение по умолчанию изменилось с ignore на recreate.

Варианты:

  • "recreate" ← (по умолчанию)
  • "ignore"

init

boolean

Запустить процесс init внутри контейнера, который передает сигналы и собирает завершившиеся дочерние процессы.

Если задано container_default_behavior=compatibility, значение этого параметра по умолчанию — false.

Варианты:

  • false
  • true

interactive

boolean

Оставлять stdin открытым после запуска контейнера, даже если он не подключен.

Если задано container_default_behavior=compatibility, значение этого параметра по умолчанию — false.

Варианты:

  • false
  • true

ipc_mode

string

Задать режим IPC для контейнера.

Можно указать container:<name|id>, чтобы использовать пространство имен IPC другого контейнера, или host, чтобы использовать внутри контейнера пространство имен IPC хоста.

keep_volumes

boolean

Сохранять анонимные тома, связанные с удаленным контейнером.

Варианты:

  • false
  • true ← (по умолчанию)

kernel_memory

string

Ограничение памяти ядра в формате <number>[<unit>]. Число должно быть положительным целым. Единица измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт). Минимальное значение — 4M.

Если единица измерения не указана, используются байты.

kill_signal

string

Переопределить сигнал по умолчанию, используемый для завершения работающего контейнера.

labels

dictionary

Словарь пар «ключ — значение».

links

list / elements=string

Список псевдонимов связанных контейнеров в формате container_name:alias.

При задании этого параметра контейнер будет перезапущен.

log_driver

string

Указать драйвер ведения журнала. По умолчанию Docker использует json-file.

Возможные варианты см. в документации по настройке ведения журналов Docker.

log_options

псевдонимы: log_opt

dictionary

Словарь параметров, относящихся к выбранному log_driver.

Подробные сведения см. на странице https://docs.docker.com/engine/admin/logging/overview/.

Чтобы log_options вступил в силу, необходимо указать log_driver, даже если используется драйвер json-file по умолчанию.

mac_address

string

MAC-адрес контейнера (например, 92:d0:c6:0a:29:33).

Обратите внимание: глобальный MAC-адрес контейнера объявлен устаревшим и больше не используется начиная с версии API Docker 1.44.

Вместо него используйте networks[].mac_address.

memory

string

Ограничение памяти в формате <number>[<unit>]. Число должно быть положительным целым. Единица измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, используются байты.

Если задано container_default_behavior=compatibility, значение этого параметра по умолчанию — "0".

memory_reservation

string

Мягкое ограничение памяти в формате <number>[<unit>]. Число должно быть положительным целым. Единица измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, используются байты.

memory_swap

string

Общий лимит памяти (память + подкачка) в формате <number>[<unit>] или специальные значения unlimited и -1 для неограниченного использования подкачки. Число должно быть положительным целым. Единица измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, используются байты.

memory_swappiness

integer

Настроить поведение подкачки памяти контейнера. Принимает целое число от 0 до 100.

Если значение не задано, для существующего контейнера оно останется прежним, а при создании или пересоздании контейнера будет унаследовано от хоста.

mounts

list / elements=dictionary

Описание монтирований, добавляемых в контейнер. Более гибкая альтернатива volumes.

consistency

string

Требование согласованности для монтирования.

Варианты:

  • "cached"
  • "consistent"
  • "default"
  • "delegated"

create_mountpoint

boolean

добавлено в community.docker 4.8.0

Создать точку монтирования на хосте, если она отсутствует.

Требуется Docker API версии 1.42 или выше.

Допустимо только для типа mounts[].type=bind.

Варианты:

  • false
  • true

labels

dictionary

Задаваемые пользователем имя и метки тома. Допустимо только для типа volume.

no_copy

boolean

Значение false означает, что том следует заполнить данными из целевого расположения. Допустимо только для типа volume.

Значение по умолчанию — false.

Варианты:

  • false
  • true

non_recursive

boolean

добавлено в community.docker 4.8.0

Отключить рекурсивное монтирование bind.

Требуется Docker API 1.40+.

Допустимо только для mounts[].type=bind.

Варианты:

  • false
  • true

propagation

string

Режим распространения. Допустимо только для типа bind.

Варианты:

  • "private"
  • "rprivate"
  • "shared"
  • "rshared"
  • "slave"
  • "rslave"

read_only

boolean

Должно ли монтирование быть доступно только для чтения.

Варианты:

  • false
  • true

read_only_force_recursive

boolean

добавлено в community.docker 4.8.0

Выдать ошибку, если монтирование не удается сделать рекурсивно доступным только для чтения.

Требуется Docker API 1.44+.

Допустимо только для mounts[].type=bind.

Варианты:

  • false
  • true

read_only_non_recursive

boolean

добавлено в community.docker 4.8.0

Сделать монтирование доступным только для чтения без рекурсии, но при этом сохранить рекурсивность монтирования (если только NonRecursive одновременно не задано значение true).

Требуется Docker API 1.44+.

Допустимо только для mounts[].type=bind.

Варианты:

  • false
  • true

source

string

Источник монтирования.

Например, это может быть имя тома или путь на хосте.

Если не указано при mounts[].type=volume, будет создан анонимный том.

subpath

string

добавлено в community.docker 4.8.0

Путь к источнику внутри тома/образа. Должен быть относительным и не содержать переходов к родительским каталогам.

Требуется Docker API 1.45+.

Допустимо только для mounts[].type=volume или mounts[].type=image.

target

string / обязательный

Путь внутри контейнера.

tmpfs_mode

string

Режим разрешений для монтирования tmpfs.

tmpfs_options

list / elements=dictionary

добавлено в community.docker 4.8.0

Параметры, передаваемые монтированию tmpfs.

Каждый элемент списка должен быть словарем с одним ключом и значением. Все ключи должны быть строками, а значения могут быть строками или null/none для флага.

Требуется Docker API 1.46+.

Допустимо только для mounts[].type=tmpfs.

tmpfs_size

string

Размер монтирования tmpfs в байтах в формате <number>[<unit>].

Число — положительное целое. Единицей измерения может быть B (байт), K (кибибайт, 1024B), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, по умолчанию используются байты.

type

string

Тип монтирования.

Обратите внимание, что npipe поддерживается Docker только в Windows.

Для cluster требуется Docker API 1.42+; добавлено в community.docker 4.8.0.

Для image требуется Docker API 1.47+; добавлено в community.docker 4.8.0.

Варианты:

  • "bind"
  • "npipe"
  • "tmpfs"
  • "volume" ← (по умолчанию)
  • "cluster"
  • "image"

volume_driver

string

Указать драйвер тома. Допустимо только для типа volume.

Подробности см. здесь.

volume_options

dictionary

Словарь параметров, относящихся к выбранному volume_driver. Подробности см. здесь.

name

string / обязательный

Назначить имя новому контейнеру или найти существующий контейнер.

При поиске существующего контейнера в качестве имени можно указать имя или длинный либо короткий идентификатор контейнера.

network_mode

string

Подключить контейнер к сети. Возможные значения: bridge, host, none, container:<name|id>, <network_name> или default.

Начиная с community.docker 2.0.0, если networks_cli_compatible=true и networks содержит хотя бы одну сеть, значением network_mode по умолчанию становится имя первой сети в списке networks. Это можно предотвратить, явно указав значение для network_mode, например значение по умолчанию default, которое будет использоваться Docker, если network_mode не указано.

networks

list / elements=dictionary

Список сетей, к которым подключен контейнер.

Примеры структуры данных и использования приведены ниже в разделе EXAMPLES.

Чтобы отключить контейнер от одной или нескольких сетей, используйте networks: strict в параметре comparisons.

Если networks_cli_compatible=false, сеть по умолчанию не будет удалена, если указано networks. Это отличается от поведения docker run .... В этом случае для принудительного удаления сети по умолчанию (и всех других сетей, не указанных явно в networks) необходимо явно использовать networks: strict в comparisons.

aliases

list / elements=string

Список псевдонимов контейнера в этой сети. Эти имена можно использовать в сети для доступа к контейнеру.

driver_opts

dictionary

добавлено в community.docker 5.0.0

Словарь параметров драйвера для этой конечной точки сети.

Позволяет задавать параметры драйвера для конкретной конечной точки, например com.docker.network.endpoint.ifname для установки пользовательского имени сетевого интерфейса.

Требуется Docker API версии 1.32 или новее.

gw_priority

integer

добавлено в community.docker 5.0.0

Приоритет шлюза для этой конечной точки сети.

Если контейнер подключен к нескольким сетям, этот параметр определяет, шлюз какой сети будет использоваться по умолчанию.

Чем выше значение, тем выше приоритет.

Требуется Docker API версии 1.48 или новее.

ipv4_address

string

Адрес IPv4 контейнера в этой сети.

ipv6_address

string

Адрес IPv6 контейнера в этой сети.

links

list / elements=string

Список контейнеров, с которыми нужно установить связь.

mac_address

string

добавлено в community.docker 3.6.0

MAC-адрес конечной точки (например, 92:d0:c6:0a:29:33).

Доступно только для Docker API версии 1.44 и новее.

Обратите внимание: при подключении контейнера к сети после его создания Docker Daemon в настоящее время игнорирует это значение, по крайней мере в некоторых случаях. При передаче значения во время создания оно, похоже, работает лучше.

name

string / обязательный

Имя сети.

networks_cli_compatible

boolean

Если networks_cli_compatible=true (по умолчанию), модуль будет вести себя как docker run --network и не будет добавлять сеть по умолчанию, если указано networks. Если networks не указано, будет подключена сеть по умолчанию.

Когда networks_cli_compatible=false и сети передаются модулю с помощью параметра networks, модуль ведет себя не так, как docker run --network: docker run --network other создаст контейнер, подключенный к сети other, но не к сети по умолчанию. Этот модуль с параметром networks, равным {name: other}, создаст контейнер, подключенный и к default, и к other. Если в comparisons задано networks: strict или *: strict, сеть default будет удалена после этого.

Варианты:

  • false
  • true ← (по умолчанию)

oom_killer

boolean

Отключить ли механизм OOM Killer для контейнера.

Варианты:

  • false
  • true

oom_score_adj

integer

Целое число, задающее оценку контейнера для настройки приоритетов OOM killer.

output_logs

boolean

Если задано значение true, вывод команды контейнера будет напечатан.

Действует только если log_driver имеет значение json-file, journald или local.

Варианты:

  • false ← (по умолчанию)
  • true

paused

boolean

Используйте вместе с состоянием started, чтобы приостановить процессы, выполняющиеся внутри контейнера.

Если container_default_behavior=compatibility, значение этого параметра по умолчанию — false.

Варианты:

  • false
  • true

pid_mode

string

Задать режим пространства имен PID для контейнера.

pids_limit

integer

Задать ограничение на число PID контейнера. Принимает целое число.

Задайте -1 для неограниченного числа PID.

platform

string

добавлено в community.docker 3.0.0

Платформа контейнера в формате os[/arch[/variant]].

Обратите внимание: начиная с community.docker 3.5.0, модуль использует метаданные образа и информацию Docker daemon для нормализации строк платформы, подобно тому, как это делает сам Docker. Если вы заметили проблемы с идемпотентностью, проверьте, сохраняется ли проблема в последнем выпуске community.docker; если да, создайте issue в репозитории community.docker на GitHub. В более старых версиях community.docker можно использовать параметр comparisons со значением platform: ignore, чтобы предотвратить случайное повторное создание контейнера по этой причине.

privileged

boolean

Предоставить контейнеру расширенные привилегии.

Если container_default_behavior=compatibility, значение этого параметра по умолчанию — false.

Варианты:

  • false
  • true

publish_all_ports

boolean

добавлено в community.docker 1.8.0

Опубликовать все порты на хосте.

Все привязки портов, заданные в published_ports, останутся без изменений при true.

Варианты:

  • false
  • true

published_ports

псевдонимы: ports

list / elements=string

Список портов, публикуемых из контейнера на хост.

Используйте синтаксис CLI Docker: 8000, 9000:8000 или 0.0.0.0:9000:8000, где 8000 — порт контейнера, 9000 — порт хоста, а 0.0.0.0 — интерфейс хоста.

Для исходных и целевых портов можно использовать диапазоны. Если указаны два диапазона разной длины, будет использован более короткий. Начиная с community.general 0.2.0, если длина диапазона исходных портов равна 1, порт будет назначен не первому порту диапазона назначения, а свободному порту в этом диапазоне. Такое же поведение используется в утилите командной строки docker.

Адреса привязки должны быть адресами IPv4 или IPv6. Имена хостов не допускаются. Это отличается от поведения утилиты командной строки docker. Для разрешения имен хостов используйте lookup community.general.dig.

Если указан параметр networks, будет проверена каждая сеть на наличие bridge-сети с необязательным параметром com.docker.network.bridge.host_binding_ipv4. Если такая сеть найдена, опубликованные порты, для которых IP-адрес хоста не указан, будут привязаны к IP-адресу хоста, заданному параметром com.docker.network.bridge.host_binding_ipv4. Обратите внимание: будет использована первая bridge-сеть со значением com.docker.network.bridge.host_binding_ipv4, встретившаяся в списке networks.

В предыдущих версиях этого модуля допускалось значение all. Поддержка этого значения удалена в community.docker 3.0.0. Вместо него используйте параметр publish_all_ports.

pull

any

Если задано значение never, образ никогда не будет загружаться. Если образ недоступен в Docker daemon, возникнет ошибка.

Если задано значение missing или false, образ будет загружен только в том случае, если он недоступен в Docker daemon. Это поведение используется по умолчанию.

Если задано значение always или true, всегда будет предпринята попытка загрузить последнюю версию образа.

Примечание: образы загружаются только при указании имени. Если образ задан в виде идентификатора (хеша), загрузить его нельзя, и этот параметр игнорируется.

Примечание: значения never, missing и always доступны только начиная с community.docker 3.8.0. Более ранние версии поддерживают только true и false.

Варианты:

  • "never"
  • "missing" ← (по умолчанию)
  • "always"
  • true
  • false

pull_check_mode_behavior

string

добавлено в community.docker 3.8.0

Позволяет настроить поведение при pull=always или pull=true в режиме проверки.

Поскольку Docker daemon не предоставляет средств для проверки, приведет ли загрузка к изменению образа, по умолчанию модуль ведет себя так: pull=always сообщает об изменении только в том случае, если образ отсутствует.

Если задано значение image_not_present (по умолчанию), в режиме проверки об изменениях сообщается только при отсутствии образа.

Если задано значение always, в режиме проверки об изменениях сообщается всегда.

Варианты:

  • "image_not_present" ← (по умолчанию)
  • "always"

read_only

boolean

Подключить корневую файловую систему контейнера в режиме только для чтения.

Если container_default_behavior=compatibility, значение этого параметра по умолчанию — false.

Варианты:

  • false
  • true

recreate

boolean

Используйте вместе с состояниями present и started, чтобы принудительно пересоздать существующий контейнер.

Варианты:

  • false ← (по умолчанию)
  • true

removal_wait_timeout

float

При удалении существующего контейнера вызов API демона Docker завершается после того, как контейнер будет помечен для удаления. Обычно удаление происходит очень быстро, однако при высокой нагрузке на ввод-вывод оно может занять больше времени. По умолчанию модуль будет ждать, пока контейнер не будет удалён, прежде чем пытаться создать его заново, независимо от того, сколько времени это займёт.

Если задать этот параметр, модуль будет ждать удаления контейнера не дольше указанного количества секунд. Если по истечении этого времени контейнер всё ещё будет удаляться, модуль завершится с ошибкой.

restart

boolean

Используйте вместе с состоянием started, чтобы принудительно остановить и перезапустить подходящий контейнер.

Варианты:

  • false ← (по умолчанию)
  • true

restart_policy

string

Политика перезапуска контейнера.

Заключите параметр no в кавычки.

Варианты:

  • "no"
  • "on-failure"
  • "always"
  • "unless-stopped"

restart_retries

integer

Используйте вместе с политикой перезапуска, чтобы задать максимальное количество попыток перезапуска.

runtime

string

Среда выполнения для контейнера.

security_opts

list / elements=string

Список параметров безопасности в формате "label:user:User".

shm_size

string

Размер /dev/shm в формате <number>[<unit>]. Число должно быть положительным целым. Единицей измерения может быть B (байт), K (кибибайт, 1024B), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).

Если единица измерения не указана, по умолчанию используются байты. Если размер не указан, демон Docker использует 64M.

state

string

absent — подходящий контейнер с указанным именем будет остановлен и удалён. Используйте force_kill, чтобы завершить контейнер принудительно, а не останавливать его. Используйте keep_volumes, чтобы сохранить анонимные тома, связанные с удалённым контейнером.

present — проверяет наличие контейнера с указанным именем и всеми заданными параметрами конфигурации. Если контейнер с таким именем не найден, он будет создан. Если контейнер с таким именем найден, но его конфигурация не соответствует указанной, контейнер будет обновлён, если это возможно. Если обновить его нельзя, он будет удалён и создан заново с запрошенной конфигурацией.

started — проверяет, что контейнер сначала находится в состоянии present, а затем, если он не запущен, переводит его в запущенное состояние. Используйте restart, чтобы принудительно остановить и перезапустить подходящий контейнер.

healthy — проверяет, что контейнер находится в состоянии present и started, а также действительно исправен. Это означает, что условия, определённые в healthcheck соответственно в HEALTHCHECK образа (справочник Docker по HEALTHCHECK), выполнены. Время ожидания можно настроить с помощью healthy_wait_timeout. Это состояние добавлено в community.docker 3.11.0.

stopped — проверяет, что контейнер сначала находится в состоянии present, а затем, если он запущен, переводит его в остановленное состояние.

Чтобы указать, что учитывать при сравнении конфигурации, см. параметр comparisons. Чтобы не учитывать версию образа, также можно использовать image: ignore в параметре comparisons.

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

Если контейнер требуется завершить принудительно, а не останавливать, когда его нужно остановить для пересоздания или потому что state имеет значение stopped, используйте параметр force_kill. Используйте keep_volumes, чтобы сохранить анонимные тома, связанные с удалённым контейнером.

Используйте keep_volumes, чтобы сохранить анонимные тома, связанные с удалённым контейнером.

Варианты:

  • "absent"
  • "present"
  • "healthy"
  • "stopped"
  • "started" ← (по умолчанию)

stop_signal

string

Переопределяет сигнал по умолчанию, используемый для остановки контейнера.

stop_timeout

integer

Количество секунд ожидания остановки контейнера до отправки SIGKILL. Если контейнер создан этим модулем, его конфигурация StopTimeout будет установлена в это значение.

При остановке контейнера это значение используется как тайм-аут остановки. Если у контейнера задана пользовательская конфигурация StopTimeout, поведение зависит от версии демона Docker. Новые версии демона Docker всегда используют настроенное значение StopTimeout контейнера, если оно задано.

storage_opts

dictionary

добавлено в community.docker 1.3.0

Параметры драйвера хранилища для этого контейнера в виде сопоставления ключ-значение.

sysctls

dictionary

Словарь пар ключ-значение.

timeout

integer

Максимальное время ожидания ответа API в секундах.

Если значение не задано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TIMEOUT. Если переменная среды не задана, будет использоваться значение по умолчанию.

По умолчанию: 60

tls

boolean

Защищает соединение с API с помощью TLS без проверки подлинности сервера Docker. Обратите внимание: если для validate_certs также задано значение true, этот параметр имеет приоритет.

Если значение не задано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TLS. Если переменная среды не задана, будет использоваться значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

tls_hostname

string

При проверке подлинности сервера Docker укажите ожидаемое имя сервера.

Если значение не задано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TLS_HOSTNAME. Если переменная среды не задана, будет использоваться значение по умолчанию.

Обратите внимание: в старых версиях для этого параметра было задано значение по умолчанию localhost. Оно было удалено в community.docker 3.0.0.

tmpfs

list / elements=string

Подключает каталог tmpfs.

tty

boolean

Выделяет псевдотерминал (pseudo-TTY).

Если container_default_behavior=compatibility, для этого параметра по умолчанию задано значение false.

Варианты:

  • false
  • true

ulimits

list / elements=string

Список параметров ulimit. Параметр ulimit задаётся в виде nofile:262144:262144.

use_ssh_client

boolean

добавлено в community.docker 1.5.0

Для SSH-транспорта использует инструмент командной строки ssh вместо paramiko.

Варианты:

  • false ← (по умолчанию)
  • true

user

string

Задаёт имя пользователя или UID и, при необходимости, имя группы или GID для указанной команды.

Допустимые форматы: user, user:group, uid, uid:gid, user:gid или uid:group.

userns_mode

string

Задаёт режим пространства имён пользователей для контейнера. В настоящее время допустимы только значение host и пустая строка ("").

uts

string

Задаёт режим пространства имён UTS для контейнера.

validate_certs

псевдонимы: tls_verify

boolean

Защищает соединение с API с помощью TLS и проверяет подлинность сервера Docker.

Если значение не задано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не задана, будет использоваться значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

volume_driver

string

Драйвер томов контейнера.

volumes

list / elements=string

Список томов для подключения к контейнеру.

Используйте синтаксис командной строки Docker: /host:/container[:mode].

Режимы подключения могут быть представлены списком различных режимов через запятую, например ro, rw, consistent, delegated, cached, rprivate, private, rshared, shared, rslave, slave и nocopy. Обратите внимание: демон Docker может поддерживать не все режимы и их сочетания.

На хостах с SELinux также можно использовать z или Z, чтобы задать для тома общую или частную метку.

Обратите внимание: Ansible 2.7 и более ранние версии поддерживали только один режим, которым должно было быть одно из значений ro, rw, z и Z.

volumes_from

list / elements=string

Список имён или идентификаторов контейнеров, из которых нужно получить тома.

working_dir

string

Путь к рабочему каталогу.

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группы действий: community.docker.docker, docker

Используйте group/docker или group/community.docker.docker в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: частичная

При попытке загрузить образ модуль предполагает, что в режиме проверки это не приведёт к изменениям, кроме случая, когда образ отсутствует в демоне Docker.

Это поведение можно настроить с помощью pull_check_mode_behavior.

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния без изменения целевого объекта.

diff_mode

Поддержка: полная

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

idempotent

Поддержка: частичная

Если задано recreate=true или restart=true, модуль не является идемпотентным.

При повторном запуске с теми же аргументами вне режима проверки второй вызов не указывает на наличие изменений.

При этом предполагается, что система, которой управляет модуль или которую он опрашивает, не изменилась существенным образом.

Примечания

Примечание

  • При большинстве изменений конфигурации контейнер необходимо пересоздать. Это означает, что существующий контейнер будет уничтожен, а вместо него создан новый. Это может привести к неожиданной потере данных и простою. Чтобы предотвратить это, можно использовать параметр comparisons.
  • Если модулю потребуется пересоздать контейнер, для создания нового контейнера он использует только параметры, переданные модулю (за исключением image). Поэтому всегда указывайте все параметры, относящиеся к контейнеру.
  • Если для restart задано значение true, модуль перезапустит контейнер только в том случае, если изменений конфигурации не обнаружено.
  • Подключайтесь к демону 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 для Python для взаимодействия с демоном Docker. Он использует код, производный от Docker SDK или Python, включённый в эту коллекцию.

Примеры

---
- name: Create a data container
  community.docker.docker_container:
    name: mydata
    image: busybox
    volumes:
      - /data

- name: Re-create a redis container
  community.docker.docker_container:
    name: myredis
    image: redis
    command: redis-server --appendonly yes
    state: present
    recreate: true
    exposed_ports:
      - 6379
    volumes_from:
      - mydata

- name: Restart a container
  community.docker.docker_container:
    name: myapplication
    image: someuser/appimage
    state: started
    restart: true
    links:
      - "myredis:aliasedredis"
    devices:
      - "/dev/sda:/dev/xvda:rwm"
    ports:
     # Publish container port 9000 as host port 8080
      - "8080:9000"
     # Publish container UDP port 9001 as host port 8081 on interface 127.0.0.1
      - "127.0.0.1:8081:9001/udp"
     # Publish container port 9002 as a random host port
      - "9002"
     # Publish container port 9003 as a free host port in range 8000-8100
     # (the host port will be selected by the Docker daemon)
      - "8000-8100:9003"
     # Publish container ports 9010-9020 to host ports 7000-7010
      - "7000-7010:9010-9020"
    env:
      SECRET_KEY: "ssssh"
      # Values which might be parsed as numbers, booleans or other types by the YAML parser need to be quoted
      BOOLEAN_KEY: "yes"

- name: Container present
  community.docker.docker_container:
    name: mycontainer
    state: present
    image: ubuntu:14.04
    command: sleep infinity

- name: Stop a container
  community.docker.docker_container:
    name: mycontainer
    state: stopped

- name: Start 4 load-balanced containers
  community.docker.docker_container:
    name: "container{{ item }}"
    recreate: true
    image: someuser/anotherappimage
    command: sleep 1d
  with_sequence: count=4

- name: Remove container
  community.docker.docker_container:
    name: ohno
    state: absent

- name: Syslogging output
  community.docker.docker_container:
    name: myservice
    image: busybox
    log_driver: syslog
    log_options:
      syslog-address: tcp://my-syslog-server:514
      syslog-facility: daemon
      # NOTE: in Docker 1.13+ the "syslog-tag" option was renamed to "tag" for
      # older docker installs, use "syslog-tag" instead
      tag: myservice

- name: Create db container and connect to network
  community.docker.docker_container:
    name: db_test
    image: "postgres:latest"
    networks:
      - name: "{{ docker_network_name }}"

- name: Start container, connect to network and link
  community.docker.docker_container:
    name: sleeper
    image: ubuntu:14.04
    networks:
      - name: TestingNet
        ipv4_address: "172.16.1.100"
        aliases:
          - sleepyzz
        links:
          - db_test:db
      - name: TestingNet2

- name: Start a container with a command
  community.docker.docker_container:
    name: sleepy
    image: ubuntu:14.04
    command: ["sleep", "infinity"]

- name: Add container to networks
  community.docker.docker_container:
    name: sleepy
    networks:
      - name: TestingNet
        ipv4_address: 172.16.1.18
        links:
          - sleeper
      - name: TestingNet2
        ipv4_address: 172.16.10.20

- name: Update network with aliases
  community.docker.docker_container:
    name: sleepy
    networks:
      - name: TestingNet
        aliases:
          - sleepyz
          - zzzz

- name: Remove container from one network
  community.docker.docker_container:
    name: sleepy
    networks:
      - name: TestingNet2
    comparisons:
      networks: strict

- name: Remove container from all networks
  community.docker.docker_container:
    name: sleepy
    comparisons:
      networks: strict

- name: Start a container and use an env file
  community.docker.docker_container:
    name: agent
    image: jenkinsci/ssh-slave
    env_file: /var/tmp/jenkins/agent.env

- name: Create a container with limited capabilities
  community.docker.docker_container:
    name: sleepy
    image: ubuntu:16.04
    command: sleep infinity
    capabilities:
      - sys_time
    cap_drop:
      - all

- name: Finer container restart/update control
  community.docker.docker_container:
    name: test
    image: ubuntu:18.04
    env:
      arg1: "true"
      arg2: "whatever"
    volumes:
      - /tmp:/tmp
    comparisons:
      image: ignore # do not restart containers with older versions of the image
      env: strict # we want precisely this environment
      volumes: allow_more_present # if there are more volumes, that's ok, as long as `/tmp:/tmp` is there

- name: Finer container restart/update control II
  community.docker.docker_container:
    name: test
    image: ubuntu:18.04
    env:
      arg1: "true"
      arg2: "whatever"
    comparisons:
      '*': ignore # by default, ignore *all* options (including image)
      env: strict # except for environment variables; there, we want to be strict

- name: Start container with healthstatus
  community.docker.docker_container:
    name: nginx-proxy
    image: nginx:1.13
    state: started
    healthcheck:
      # Check if nginx server is healthy by curl'ing the server.
      # If this fails or timeouts, the healthcheck fails.
      test: ["CMD", "curl", "--fail", "http://nginx.host.com"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 30s
      start_interval: 10s

- name: Remove healthcheck from container
  community.docker.docker_container:
    name: nginx-proxy
    image: nginx:1.13
    state: started
    healthcheck:
      # The "NONE" check needs to be specified
      test: ["NONE"]

- name: Create a tmpfs with a size and mode
  community.docker.docker_container:
    name: tmpfs test
    image: ubuntu:22.04
    state: started
    mounts:
      - type: tmpfs
        target: /cache
        tmpfs_mode: "1700" # only readable to the owner
        tmpfs_size: "16G"

- name: Start container with block device read limit
  community.docker.docker_container:
    name: test
    image: ubuntu:18.04
    state: started
    device_read_bps:
      # Limit read rate for /dev/sda to 20 mebibytes per second
      - path: /dev/sda
        rate: 20M
    device_read_iops:
      # Limit read rate for /dev/sdb to 300 IO per second
      - path: /dev/sdb
        rate: 300

- name: Start container with GPUs
  community.docker.docker_container:
    name: test
    image: ubuntu:18.04
    state: started
    device_requests:
      # Add some specific devices to this container
      - device_ids:
          - '0'
          - 'GPU-3a23c669-1f69-c64e-cf85-44e9b07e7a2a'
      # Add nVidia GPUs to this container
      - driver: nvidia
        count: -1 # this means we want all
        capabilities:
        # We have one OR condition: 'gpu' AND 'utility'
          - - gpu
            - utility
        # See https://github.com/NVIDIA/nvidia-container-runtime#supported-driver-capabilities
        # for a list of capabilities supported by the nvidia driver

- name: Start container with storage options
  community.docker.docker_container:
    name: test
    image: ubuntu:18.04
    state: started
    storage_opts:
      # Limit root filesystem to 12 MB - note that this requires special storage backends
      # (https://fabianlee.org/2020/01/15/docker-use-overlay2-with-an-xfs-backing-filesystem-to-limit-rootfs-size/)
      size: 12m

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

container

dictionary

Факты, описывающие текущее состояние контейнера. Соответствуют результатам проверки Docker.

Пусто, если state=absent.

Если detach=false, будет содержать атрибут Output с любыми данными, полученными при запуске контейнера.

Возвращается: при успешном выполнении; либо если state=started и detach=false, и ожидание результата работы контейнера завершилось успешно

Пример: "{ \"AppArmorProfile\": \"\", \"Args\": [], \"Config\": { \"AttachStderr\": false, \"AttachStdin\": false, \"AttachStdout\": false, \"Cmd\": [ \"/usr/bin/supervisord\" ], \"Domainname\": \"\", \"Entrypoint\": null, \"Env\": [ \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\" ], \"ExposedPorts\": { \"443/tcp\": {}, \"80/tcp\": {} }, \"Hostname\": \"8e47bf643eb9\", \"Image\": \"lnmp_nginx:v1\", \"Labels\": {}, \"OnBuild\": null, \"OpenStdin\": false, \"StdinOnce\": false, \"Tty\": false, \"User\": \"\", \"Volumes\": { \"/tmp/lnmp/nginx-sites/logs/\": {} }, ... }"

status

integer

Если контейнер запущен без отсоединения, содержит код завершения процесса в контейнере.

До community.docker 1.1.0 значение возвращалось только в том случае, если оно было ненулевым.

Возвращается: если state=started и detach=false, и ожидание результата работы контейнера завершилось успешно

Пример: 0

Авторы

  • Cove Schneider (@cove)
  • Joshua Conner (@joshuaconner)
  • Pavel Antonov (@softzilla)
  • Thomas Steinbach (@ThomasSteinbach)
  • Philippe Jandot (@zfil)
  • Daan Oosterveld (@dusdanig)
  • Chris Houseknecht (@chouseknecht)
  • Kassian Sun (@kassiansun)
  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Обратиться за помощью (Docker)
  • Обратиться за помощью (Docker Compose)
  • Обратиться за помощью (Docker Swarm)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/docker/docker_container_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API