Spec-Zone.ru › Ansible

Модуль containers.podman.podman_container — управление контейнерами Podman

Примечание

Этот модуль входит в коллекцию containers.podman (версия 1.20.1).

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

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

Чтобы использовать модуль в плейбуке, укажите: containers.podman.podman_container.

Добавлено в containers.podman 1.0.0

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

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

  • Запуск, остановка, перезапуск и управление контейнерами Podman

Требования

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

  • podman

Параметры

Параметр

Комментарии

annotation

dictionary

Добавить аннотацию к контейнеру. Формат: пара «ключ — значение»; параметр можно указать несколько раз.

arch

string

Задать архитектуру контейнера. Переопределяет архитектуру образа, который будет загружен; по умолчанию используется архитектура хоста. Например, arm.

attach

list / elements=string

Подключиться к STDIN, STDOUT или STDERR. В Podman по умолчанию установлено значение false.

Варианты:

  • "stdin"
  • "stdout"
  • "stderr"

authfile

path

Путь к файлу аутентификации. По умолчанию используется ``${XDG_RUNTIME_DIR}/containers/auth.json`` (недоступно для удалённых команд). Путь к файлу аутентификации по умолчанию также можно переопределить, задав переменную окружения ``REGISTRY_AUTH_FILE``. ``export REGISTRY_AUTH_FILE=path``

blkio_weight

integer

Вес блочного ввода-вывода (относительный вес); допустимые значения — от 10 до 1000.

blkio_weight_device

dictionary

Вес блочного ввода-вывода (относительный вес устройства, формат DEVICE_NAME[:]WEIGHT).

cap_add

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

list / elements=string

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

cap_drop

list / elements=string

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

cgroup_conf

dictionary

При работе с cgroup v2 укажите файл cgroup для записи и его значение.

cgroup_parent

path

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

cgroupns

string

Путь к cgroups, в которых будет создана cgroup контейнера.

cgroups

string

Определяет, будет ли контейнер создавать CGroups. Допустимые значения: enabled и disabled; по умолчанию используется enabled. Значение disabled запрещает контейнеру создавать CGroups и поэтому конфликтует с параметрами CGroup cgroupns и cgroup-parent.

chrootdirs

string

Путь к каталогу внутри контейнера, который рассматривается как каталог chroot.

cidfile

path

Записать ID контейнера в файл

cmd_args

list / elements=string

Дополнительные параметры, которые нужно передать непосредственно команде podman, например --log-level=debug или --syslog. Это НЕ команда для запуска в контейнере, а параметры самой команды podman. Чтобы задать команду контейнера, используйте параметр command.

command

any

Переопределить команду контейнера. Можно указать строку или список.

conmon_pidfile

path

Записать PID процесса conmon в файл. conmon работает в отдельном от Podman процессе, поэтому это необходимо при использовании systemd для перезапуска контейнеров Podman.

cpu_period

integer

Ограничить период CFS (полностью справедливого планировщика) CPU

cpu_quota

integer

Ограничить квоту CFS (полностью справедливого планировщика) CPU

cpu_rt_period

integer

Ограничить период реального времени CPU в микросекундах. Ограничить использование CPU контейнером в режиме реального времени. Этот флаг указывает ядру ограничить использование CPU контейнером в режиме реального времени заданным периодом.

cpu_rt_runtime

integer

Ограничить время выполнения CPU в режиме реального времени в микросекундах. Этот флаг указывает ядру ограничить время, которое задачи реального времени могут использовать в заданном периоде CPU.

cpu_shares

integer

Доли CPU (относительный вес)

cpus

string

Количество CPU. Значение по умолчанию — 0.0, что означает отсутствие ограничения.

cpuset_cpus

string

CPU, на которых разрешено выполнение (0-3, 0,1)

cpuset_mems

string

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

debug

boolean

Возвращать дополнительную информацию, которая может быть полезна для анализа.

Варианты:

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

decryption_key

string

«Ключевая фраза» для расшифровки образов. В качестве ключа можно указать ключи и/или сертификаты.

delete_depend

boolean

Удалить выбранный контейнер и рекурсивно удалить все контейнеры, которые от него зависят. Применяется к команде «delete».

Варианты:

  • false
  • true

delete_time

string

Количество секунд ожидания перед принудительной остановкой контейнера. Для бесконечного ожидания укажите -1. Применяется к команде «delete».

delete_volumes

boolean

Удалить анонимные тома, связанные с контейнером. Это не касается именованных томов, созданных с помощью podman volume create, или параметра --volume команд podman run и podman create.

Варианты:

  • false
  • true

detach

boolean

Запустить контейнер в фоновом режиме

Варианты:

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

detach_keys

string

Переопределить последовательность клавиш для отключения от контейнера. Формат: один символ или значение ctrl

device

list / elements=string

Добавить устройство хоста в контейнер. Формат: <device-on-host>[:<device-on-container>][:<permissions>] (например, устройство device /dev/sdc:/dev/xvdc:rwm)

device_cgroup_rule

string

Добавить правило в список разрешённых устройств cgroup. Ожидается, что правило будет задано в формате, указанном в документации ядра Linux admin-guide/cgroup-v1/devices.

device_read_bps

list / elements=string

Ограничить скорость чтения с устройства (байт в секунду), например device-read-bps /dev/sda:1mb

device_read_iops

list / elements=string

Ограничить скорость чтения с устройства (операций ввода-вывода в секунду), например device-read-iops /dev/sda:1000

device_write_bps

list / elements=string

Ограничить скорость записи на устройство (байт в секунду), например device-write-bps /dev/sda:1mb

device_write_iops

list / elements=string

Ограничить скорость записи на устройство (операций ввода-вывода в секунду), например device-write-iops /dev/sda:1000

dns

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

list / elements=string

Задать пользовательские DNS-серверы

dns_option

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

string

Задать пользовательские параметры DNS

dns_search

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

list / elements=string

Задать пользовательские домены поиска DNS (укажите dns_search с ‘’ , если не нужно задавать домен поиска)

entrypoint

string

Переопределить ENTRYPOINT образа по умолчанию

env

dictionary

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

env_file

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

list / elements=path

Прочитать переменные окружения из файла, где каждая строка содержит отдельное значение. Идемпотентность не поддерживается. Если пользователь изменит файл с переменными окружения, ему потребуется пересоздать контейнер. Файл должен находиться на УДАЛЁННОЙ машине, где запущен podman, а не на управляющей машине, где выполняется Ansible. Чтобы скопировать файл с управляющей машины на удалённую, используйте модуль copy или slurp.

env_host

boolean

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

Варианты:

  • false
  • true

env_merge

dictionary

Предварительно обработать переменные окружения контейнеров по умолчанию

etc_hosts

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

dictionary

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

executable

string

Путь к исполняемому файлу podman, если он отсутствует в $PATH на машине, где выполняется podman

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

expose

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

list / elements=string

Открыть порт или диапазон портов (например, expose “3300-3310”), чтобы настроить перенаправление портов в системе хоста.

force_delete

boolean

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

Варианты:

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

force_restart

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

boolean

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

Варианты:

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

generate_systemd

dictionary

Создать файл модуля systemd для контейнера.

По умолчанию: {}

after

list / elements=string

Добавить в модуль systemd параметр After=, задающий порядок между списком зависимостей и этой службой.

container_prefix

string

Задать префикс имени модуля systemd для контейнеров. По умолчанию используется «container».

names

boolean

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

Варианты:

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

new

boolean

Создавать контейнеры и поды при запуске модуля вместо ожидания, что они уже существуют. По умолчанию — «false». Дополнительные сведения см. в podman-generate-systemd(1).

Варианты:

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

no_header

boolean

Не создавать заголовок с метаданными, такими как версия Podman и временная метка. Начиная с версии Podman 3.1.0.

Варианты:

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

path

string

Укажите путь к каталогу, в котором будут созданы файлы модулей. Для этого параметра путь обязателен. Если каталог не существует, он будет создан.

pod_prefix

string

Задаёт префикс имени модуля systemd для подов. По умолчанию используется «pod».

requires

list / elements=string

Задаёт параметр requires (Requires=) модуля systemd. Аналогичен wants, но объявляет более строгую зависимость.

restart_policy

string

Укажите политику перезапуска службы. Политика перезапуска должна иметь одно из значений: «no», «on-success», «on-failure», «on-abnormal», «on-watchdog», «on-abort» или «always». По умолчанию используется политика «on-failure».

Варианты:

  • "no"
  • "on-success"
  • "on-failure"
  • "on-abnormal"
  • "on-watchdog"
  • "on-abort"
  • "always"

restart_sec

integer

Задаёт значение restartsec службы systemd.

separator

string

Задаёт разделитель в имени модуля systemd между именем/идентификатором контейнера/пода и префиксом. По умолчанию используется «-» (дефис).

start_timeout

integer

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

stop_timeout

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

integer

Переопределяет значение тайм-аута остановки контейнера по умолчанию указанным значением. До версии 4 назывался `time`.

wants

list / elements=string

Добавляет параметр wants (Wants=) модуля systemd, от которого эта служба зависит (нестрого).

gidmap

list / elements=string

Запускает контейнер в новом пространстве имён пользователя, используя указанное сопоставление.

gpus

string

Устройства GPU, добавляемые в контейнер.

group_add

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

list / elements=string

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

group_entry

string

Настраивает запись, добавляемую в файл /etc/group внутри контейнера при использовании параметра --user.

health_startup_cmd

string

Задаёт команду начальной проверки работоспособности контейнера.

health_startup_interval

string

Задаёт интервал начальной проверки работоспособности.

health_startup_retries

integer

Количество попыток, разрешённых до перезапуска контейнера начальной проверкой работоспособности. Если указано 0, контейнер никогда не перезапускается. Значение по умолчанию — 0.

health_startup_success

integer

Количество успешных запусков, необходимое для успешного завершения начальной проверки работоспособности и начала обычной проверки. Значение 0 означает, что обычная проверка начинается после любого успешного запуска. Значение по умолчанию — 0.

health_startup_timeout

string

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

healthcheck

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

string

Задаёт или изменяет команду проверки работоспособности контейнера.

healthcheck_failure_action

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

string

Действие, выполняемое, когда контейнер считается неработоспособным. Действие должно иметь одно из значений: «none», «kill», «restart» или «stop». По умолчанию используется политика «none».

Варианты:

  • "none"
  • "kill"
  • "restart"
  • "stop"

healthcheck_interval

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

string

Задаёт интервал проверок работоспособности (значение disable отключает автоматическую настройку таймера) (по умолчанию «30s»)

healthcheck_retries

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

integer

Количество повторных попыток, после которого проверка работоспособности считается неуспешной. Значение по умолчанию — 3.

healthcheck_start_period

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

string

Время инициализации, необходимое контейнеру для запуска. Значение можно указать в формате времени, например 2m3s. Значение по умолчанию — 0s

healthcheck_timeout

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

string

Максимальное время, отведённое на выполнение проверки работоспособности, после которого интервал считается завершившимся с ошибкой. Как и для start-period, значение можно указать в формате времени, например 1m22s. Значение по умолчанию — 30s

hooks_dir

list / elements=string

Каждый файл .json в этом пути настраивает хук для контейнеров Podman. Подробнее о синтаксисе файлов JSON и семантике внедрения хуков см. oci-hooks(5). Параметр можно задавать несколько раз.

hostname

string

Имя хоста контейнера. Задаёт имя хоста контейнера, доступное внутри контейнера.

hostuser

string

Добавляет учётную запись пользователя с хоста в файл /etc/passwd контейнера. Имя пользователя или UID должны существовать в системе хоста.

http_proxy

boolean

По умолчанию переменные окружения прокси передаются в контейнер, если они заданы для процесса podman. Это можно отключить, задав для параметра http_proxy значение false. Передаваемые переменные окружения включают http_proxy, https_proxy, ftp_proxy, no_proxy, а также их варианты в верхнем регистре. По умолчанию — true

Варианты:

  • false
  • true

image

string

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

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

image_strict

boolean

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

Варианты:

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

image_volume

string

Указывает podman, как обрабатывать встроенные тома образа. Допустимые значения: bind, tmpfs или ignore (по умолчанию bind)

Варианты:

  • "bind"
  • "tmpfs"
  • "ignore"

init

boolean

Запускает внутри контейнера процесс init, который пересылает сигналы и собирает завершившиеся процессы. По умолчанию — false.

Варианты:

  • false
  • true

init_ctr

string

(Только для подов). При использовании подов создаёт контейнер типа init, который запускается после запуска инфраструктурного контейнера, но до запуска обычных контейнеров пода.

Варианты:

  • "once"
  • "always"

init_path

string

Путь к исполняемому файлу container-init.

interactive

boolean

Оставляет STDIN открытым, даже если он не подключён. По умолчанию — false. Если задано значение true, stdin остаётся открытым, даже если он не подключён. По умолчанию — false.

Варианты:

  • false
  • true

ip

string

Указывает статический IP-адрес контейнера, например ‘10.88.64.128’. Параметр можно использовать, только если не указаны дополнительные сети CNI для подключения через ‘network:’ и контейнер не подключается к пространству имён сети другого контейнера через ‘network container:<name|id>’. Адрес должен входить в пул сети CNI по умолчанию (10.88.0.0/16).

ip6

string

Указывает статический IPv6-адрес контейнера

ipc

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

string

По умолчанию для контейнера создаётся частное пространство имён IPC (POSIX SysV IPC)

kernel_memory

string

Ограничение памяти ядра (формат <number>[<unit>], где unit = b, k, m или g). Примечание: идемпотентность поддерживается только для целых чисел.

label

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

dictionary

Добавляет метаданные в контейнер; передайте словарь имён и значений меток

label_file

string

Считывает метки из файла, где каждая строка содержит одну метку

log_driver

string

Драйвер ведения журнала. Используется для задания драйвера журналирования контейнера. Например, log_driver “k8s-file”.

Варианты:

  • "k8s-file"
  • "journald"
  • "json-file"
  • "passthrough"
  • "none"

log_level

string

Уровень журналирования Podman. Записывает сообщения выше указанного уровня (“debug”|”info”|”warn”|”error”|”fatal”|”panic”) (по умолчанию “error”)

Варианты:

  • "debug"
  • "info"
  • "warn"
  • "error"
  • "fatal"
  • "panic"

log_opt

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

dictionary

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

max_size

string

Указывает максимальный размер файла журнала (например, 10mb).

path

string

Указывает путь к файлу журнала (например, /var/log/container/mycontainer.json).

tag

string

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

mac_address

string

Указывает MAC-адрес контейнера, например ‘92:d0:c6:0a:29:33’. Не забывайте, что он должен быть уникальным в пределах одной сети Ethernet.

memory

string

Ограничение памяти (формат 10k, где единица измерения = b, k, m или g). Примечание: идемпотентность поддерживается только для целых чисел.

memory_reservation

string

Мягкое ограничение памяти (формат 100m, где единица измерения = b, k, m или g). Примечание: идемпотентность поддерживается только для целых чисел.

memory_swap

string

Ограничение, равное сумме памяти и подкачки. Необходимо использовать вместе с флагом -m (--memory). Значение ограничения подкачки всегда должно быть больше значения -m (--memory). По умолчанию ограничение подкачки устанавливается вдвое больше значения --memory. Примечание: идемпотентность поддерживается только для целых чисел.

memory_swappiness

integer

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

mount

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

list / elements=string

Подключает файловую систему к контейнеру. bind или tmpfs. Например: mount “type=bind,source=/path/on/host,destination=/path/in/container”

name

string / required

Имя контейнера

network

aliases: net, network_mode

list / elements=string

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

bridge — создать сетевой стек в мосту по умолчанию.

none — без сети.

container:<name|id> — использовать сетевой стек другого контейнера.

host — использовать сетевой стек хоста podman.

<network-name>|<network-id> — подключиться к пользовательской сети.

ns:<path> — путь к сетевому пространству имён, к которому нужно подключиться.

slirp4netns — использовать slirp4netns для создания пользовательского сетевого стека. Это значение по умолчанию для контейнеров без привилегий root.

network_aliases

aliases: network_alias

list / elements=string

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

no_healthcheck

boolean

Отключает все определённые проверки работоспособности контейнера.

Допустимые значения:

  • false
  • true

no_hosts

boolean

Не создавать файл /etc/hosts для контейнера. Значение по умолчанию — false.

Допустимые значения:

  • false
  • true

oom_kill_disable

boolean

Отключить ли OOM Killer для контейнера. Значение по умолчанию — false.

Допустимые значения:

  • false
  • true

oom_score_adj

integer

Настраивает приоритет OOM для контейнеров на хосте (принимает значения от -1000 до 1000).

os

string

Переопределяет ОС образа, который будет загружен; по умолчанию используется ОС хоста. Например, windows.

passwd

boolean

Разрешить Podman добавлять записи в /etc/passwd и /etc/group при использовании вместе с параметром --user. Это позволяет заменить настройку пользователя, предоставляемую Podman, конфигурацией точки входа, например libnss-extrausers.

Допустимые значения:

  • false
  • true

passwd_entry

string

Настраивает запись, добавляемую в файл /etc/passwd контейнера при использовании параметра --passwd.

personality

string

Параметр personality задаёт домен выполнения с помощью Linux personality(2).

pid

aliases: pid_mode

string

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

pid_file

path

Если указан путь к pid-файлу, PID процесса контейнера записывается в этот файл.

pids_limit

string

Настраивает лимит PID контейнера. Укажите -1, чтобы снять ограничение на количество PID контейнера.

platform

string

Указывает платформу для выбора образа.

pod

string

Запускает контейнер в существующем поде. Чтобы podman создал под, добавьте префикс «new:» к имени пода.

pod_id_file

path

Запускает контейнер в существующем поде и считывает идентификатор пода из указанного файла. Если контейнер запускается в поде с infra-контейнером, сначала запускается infra-контейнер.

preserve_fd

list / elements=string

Передаёт процессу дополнительные файловые дескрипторы, указанные в списке, разделённом запятыми.

preserve_fds

string

Передаёт процессу N дополнительных файловых дескрипторов (помимо 0, 1, 2). Всего будет 3\+N файловых дескрипторов.

privileged

boolean

Предоставляет контейнеру расширенные привилегии. Значение по умолчанию — false.

Допустимые значения:

  • false
  • true

publish

aliases: ports, published, published_ports

list / elements=string

Публикует порт или диапазон портов контейнера на хосте. Формат: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort. Если указан только containerPort, Podman случайным образом выберет hostPort.

publish_all

boolean

Публикует все открытые порты на случайные порты сетевых интерфейсов хоста. Значение по умолчанию — false.

Допустимые значения:

  • false
  • true

pull

string

Политика загрузки образа. Значение по умолчанию — ‘missing’.

Допустимые значения:

  • "missing"
  • "always"
  • "never"
  • "newer"

quadlet_dir

path

Путь к каталогу для записи файла quadlet. По умолчанию для пользователя root используется /etc/containers/systemd/, а для пользователей без root — ~/.config/containers/systemd/.

quadlet_file_mode

any

Права доступа к файлу quadlet.

Параметр quadlet_file_mode можно указать в виде восьмеричного числа или символьного режима (например, u+rwx или u=rw,g=r,o=r). Для восьмеричного формата необходимо добавить ведущий ноль, чтобы YAML-анализатор Ansible распознал восьмеричное число (например, 0644 или 01777), либо заключить значение в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и преобразовал её в число самостоятельно. Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведёт к непредвиденным результатам.

Если параметр quadlet_file_mode не указан и файл quadlet не существует, при назначении режима для вновь созданного файла будет использоваться маска '0640' по умолчанию.

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

Указание quadlet_file_mode — лучший способ гарантировать, что файлы будут созданы с правильными правами доступа.

quadlet_filename

string

Имя записываемого файла quadlet. По умолчанию используется значение name.

quadlet_options

list / elements=string

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

rdt_class

string

Rdt-class задаёт класс обслуживания (CLOS или COS), в котором будет работать контейнер. Требуются права root.

read_only

boolean

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

Допустимые значения:

  • false
  • true

read_only_tmpfs

boolean

Если контейнер работает в режиме --read-only, подключает для чтения и записи файловую систему tmpfs в /run, /tmp и /var/tmp. Значение по умолчанию — true.

Допустимые значения:

  • false
  • true

recreate

boolean

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

Допустимые значения:

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

requires

list / elements=string

Указывает одно или несколько требований. Требование — это контейнер-зависимость, который будет запущен до этого контейнера. Контейнеры можно указывать по имени или идентификатору.

restart_policy

string

Политика перезапуска при завершении работы контейнера. Политика перезапуска не действует, если контейнер остановлен командами podman kill или podman stop. Допустимые значения: * no — не перезапускать контейнеры после завершения работы * on-failure[:max_retries] — перезапускать контейнеры при завершении с ненулевым кодом выхода; повторять бесконечно или до достижения необязательного значения max_retries * always — перезапускать контейнеры после завершения работы независимо от статуса, повторяя бесконечно

restart_time

string

Количество секунд ожидания перед принудительной остановкой контейнера при перезапуске. Укажите -1 для бесконечного ожидания. Применяется к состоянию «restarted».

retry

integer

Количество повторных попыток загрузки или отправки образов между реестром и локальным хранилищем в случае сбоя. Значение по умолчанию — 3.

retry_delay

string

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

rm

aliases: remove, auto_remove

boolean

Автоматически удаляет контейнер после завершения его работы. Значение по умолчанию — false.

Допустимые значения:

  • false
  • true

rmi

boolean

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

Допустимые значения:

  • false
  • true

rootfs

boolean

Если значение равно true, первый аргумент указывает на распакованный контейнер в файловой системе. Значение по умолчанию — false.

Допустимые значения:

  • false
  • true

sdnotify

string

Определяет способ использования NOTIFY_SOCKET, передаваемого с systemd и Type=notify. Допустимые значения: container, conmon, ignore. Для quadlet также можно использовать значение healthy для применения встроенных проверок работоспособности. Подробнее см. в документации.

seccomp_policy

string

Указывает политику выбора профиля seccomp.

secrets

list / elements=string

Добавляет именованные секреты в контейнер. Формат: secret[,opt=opt...]. Подробнее см. в документации.

security_opt

list / elements=string

Параметры безопасности. Например, security_opt “seccomp=unconfined”.

shm_size

string

Размер /dev/shm. Формат: <number><unit>. Число должно быть больше 0. Единица измерения необязательна: b (байты), k (килобайты), m (мегабайты) или g (гигабайты). Если единица не указана, система использует байты. Если размер не указан, система использует значение 64m.

shm_size_systemd

string

Размер специфичных для systemd подключений tmpfs, таких как /run, /run/lock, /var/log/journal и /tmp.

sig_proxy

boolean

Перенаправляет процессу контейнера сигналы, отправленные команде podman run. Сигналы SIGCHLD, SIGSTOP и SIGKILL не перенаправляются. Значение по умолчанию — true.

Допустимые значения:

  • false
  • true

state

string

absent — контейнер с указанным именем будет остановлен и удалён.

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

started — гарантирует, что существует запущенный контейнер с указанным именем и всеми заданными параметрами конфигурации. Если контейнер с таким именем не найден, он будет создан и запущен. Используйте recreate, чтобы всегда пересоздавать найденный контейнер, даже если он работает. Используйте force_restart, чтобы принудительно остановить и перезапустить найденный контейнер.

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

created — гарантирует, что контейнер существует с заданной конфигурацией. Если контейнер не существует, модуль создаёт его и оставляет в состоянии ‘created’. Если конфигурация не совпадает или задан параметр ‘recreate’, контейнер будет создан заново.

quadlet — записывает файл quadlet с указанной конфигурацией.

Допустимые значения:

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

stop_signal

integer

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

stop_time

string

Количество секунд ожидания перед принудительной остановкой контейнера. Укажите -1 для бесконечного ожидания. Применяется к состоянию «stopped».

stop_timeout

integer

Время ожидания (в секундах) при остановке контейнера. Значение по умолчанию — 10.

subgidname

string

Запустить контейнер в новом пользовательском пространстве имён, используя отображение с «name» из файла /etc/subgid.

subuidname

string

Запустить контейнер в новом пользовательском пространстве имён, используя отображение с «name» из файла /etc/subuid.

sysctl

dictionary

Настроить параметры ядра с пространствами имён во время выполнения

systemd

string

Запустить контейнер в режиме systemd. Значение по умолчанию — true.

timeout

integer

Максимальное время (в секундах), в течение которого контейнеру разрешено работать, прежде чем conmon отправит ему сигнал завершения. По умолчанию контейнеры работают, пока не завершатся или не будут остановлены командой «podman stop».

timezone

string

Установить часовой пояс в контейнере. Этот параметр принимает часовые пояса с указанием региона, время GMT, а также значение local, которое задаёт в контейнере часовой пояс хостовой машины. Допустимые часовые пояса см. в /usr/share/zoneinfo/. Для удалённых подключений значения по умолчанию берутся из локального файла containers.conf.

tls_verify

boolean

Требовать HTTPS и проверять сертификаты при загрузке образов.

Варианты:

  • false
  • true

tmpfs

dictionary

Создать точку монтирования tmpfs. Например: tmpfs «/tmp» «rw,size=787448k,mode=1777»

tty

boolean

Выделить псевдотерминал (TTY). Значение по умолчанию — false.

Варианты:

  • false
  • true

uidmap

list / elements=string

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

ulimit

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

list / elements=string

Параметры ulimit

umask

string

Установить umask внутри контейнера. По умолчанию — 0022. Для удалённых подключений значения по умолчанию берутся из локального файла containers.conf.

unsetenv

list / elements=string

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

unsetenv_all

boolean

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

Варианты:

  • false
  • true

user

string

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

userns

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

string

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

uts

string

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

variant

string

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

volume

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

list / elements=string

Создать монтирование bind. Если указать том volume /HOST-DIR:/CONTAINER-DIR, podman подключит каталог /HOST-DIR на хосте к каталогу /CONTAINER-DIR в контейнере podman.

volumes_from

list / elements=string

Подключить тома из указанных контейнеров.

workdir

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

string

Рабочий каталог внутри контейнера. Рабочим каталогом по умолчанию для запуска исполняемых файлов в контейнере является корневой каталог (/).

Примеры

- name: Run container
  containers.podman.podman_container:
    name: container
    image: quay.io/bitnami/wildfly
    state: started

- name: Create a data container
  containers.podman.podman_container:
    name: mydata
    image: busybox
    volume:
      - /tmp/data

- name: Re-create a redis container with systemd service file generated in /tmp/
  containers.podman.podman_container:
    name: myredis
    image: redis
    command: redis-server --appendonly yes
    state: present
    recreate: true
    expose:
      - 6379
    volumes_from:
      - mydata
    generate_systemd:
      path: /tmp/
      restart_policy: always
      stop_timeout: 120
      names: true
      container_prefix: ainer

- name: Restart a container
  containers.podman.podman_container:
    name: myapplication
    image: redis
    state: started
    restart: true
    etc_hosts:
        other: "127.0.0.1"
    restart_policy: "no"
    device: "/dev/sda:/dev/xvda:rwm"
    ports:
        - "8080:9000"
        - "127.0.0.1:8081:9001/udp"
    env:
        SECRET_KEY: "ssssh"
        BOOLEAN_KEY: "yes"

- name: Container present
  containers.podman.podman_container:
    name: mycontainer
    state: present
    image: ubuntu:14.04
    command: "sleep 1d"

- name: Stop a container
  containers.podman.podman_container:
    name: mycontainer
    state: stopped

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

- name: remove container
  containers.podman.podman_container:
    name: ohno
    state: absent

- name: Writing output
  containers.podman.podman_container:
    name: myservice
    image: busybox
    log_options: path=/var/log/container/mycontainer.json
    log_driver: k8s-file

- name: Run container with complex command with quotes
  containers.podman.podman_container:
    name: mycontainer
    image: certbot/certbot
    command:
      - renew
      - --deploy-hook
      - "echo 1 > /var/lib/letsencrypt/complete"

- name: Create a Quadlet file
  containers.podman.podman_container:
    name: quadlet-container
    image: nginx
    state: quadlet
    quadlet_filename: custome-container
    quadlet_file_mode: '0640'
    device: "/dev/sda:/dev/xvda:rwm"
    ports:
      - "8080:80"
    volumes:
      - "/var/www:/usr/share/nginx/html"
    quadlet_options:
      - "AutoUpdate=registry"
      - "Pull=newer"
      - |
        [Install]
        WantedBy=default.target

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

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

Ключ

Описание

container

dictionary

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

Обратите внимание, что начиная с Ansible 2.8 факты входят в зарегистрированные переменные. Для обеспечения совместимости к фактам также можно обращаться напрямую как к podman_container. Обратите внимание, что возвращаемый факт будет удалён в Ansible 2.12.

Пусто, если state отсутствует.

Возвращается: всегда

Пример: "{ \"Id\": \"d38a8fcd61ab7e0754355e8fb3acc201e07770f3d1fd8fed36556941ac458ce\", \"Created\": \"2024-08-14T00:04:33.127266655+03:00\", \"Path\": \"/entrypoint.sh\", \"Args\": [ \"/entrypoint.sh\" ], \"State\": { \"OciVersion\": \"1.1.0+dev\", \"Status\": \"running\", \"Running\": true, \"Paused\": false, \"Restarting\": false, \"OOMKilled\": false, \"Dead\": false, \"Pid\": 2434164, \"ConmonPid\": 2434162, \"ExitCode\": 0, \"Error\": \"\", \"StartedAt\": \"2024-08-14T00:04:33.237286439+03:00\", \"FinishedAt\": \"0001-01-01T00:00:00Z\", \"Health\": { \"Status\": \"\", \"FailingStreak\": 0, \"Log\": null }, \"CgroupPath\": \"/user.slice/user-1000.slice/user@1000.service/user.slice/libpod-d38a....scope\", \"CheckpointedAt\": \"0001-01-01T00:00:00Z\", \"RestoredAt\": \"0001-01-01T00:00:00Z\" }, \"Image\": \"fe2ba3a8ede60e5938e666b483c3a812ba902dac2303341930fbadc0482592b7\", \"ImageDigest\": \"sha256:1222865ed7489298ee28414ddedb63a0c6405938c3a38adf21c8656d7f532271\", \"ImageName\": \"registry/org/image:latest\", \"Rootfs\": \"\", \"Pod\": \"\", \"ResolvConfPath\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/resolv.conf\", \"HostnamePath\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/hostname\", \"HostsPath\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/hosts\", \"StaticDir\": \"/home/podman/.local/share/containers/storage/overlay-containers/d38a.../userdata\", \"OCIConfigPath\": \"/home/podman/.local/share/containers/....json\", \"OCIRuntime\": \"crun\", \"ConmonPidFile\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/conmon.pid\", \"PidFile\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/pidfile\", \"Name\": \"costapp\", \"RestartCount\": 0, \"Driver\": \"overlay\", \"MountLabel\": \"system_u:object_r:container_file_t:s0:c493,c986\", \"ProcessLabel\": \"system_u:system_r:container_t:s0:c493,c986\", \"AppArmorProfile\": \"\", \"EffectiveCaps\": [ \"CAP_CHOWN\", \"CAP_DAC_OVERRIDE\", \"CAP_FOWNER\", \"CAP_FSETID\", \"CAP_KILL\", \"CAP_NET_BIND_SERVICE\", \"CAP_SETFCAP\", \"CAP_SETGID\", \"CAP_SETPCAP\", \"CAP_SETUID\", \"CAP_SYS_CHROOT\" ], \"BoundingCaps\": [ \"CAP_CHOWN\", \"CAP_DAC_OVERRIDE\", \"CAP_FOWNER\", \"CAP_FSETID\", \"CAP_KILL\", \"CAP_NET_BIND_SERVICE\", \"CAP_SETFCAP\", \"CAP_SETGID\", \"CAP_SETPCAP\", \"CAP_SETUID\", \"CAP_SYS_CHROOT\" ], \"ExecIDs\": [], \"GraphDriver\": { \"Name\": \"overlay\", \"Data\": { \"LowerDir\": \"/home/podman/.local/share/containers/storage/overlay/29e2.../diff:...\", \"MergedDir\": \"/home/podman/.local/share/containers/storage/overlay/865909.../merged\", \"UpperDir\": \"/home/podman/.local/share/containers/storage/overlay/865909.../diff\", \"WorkDir\": \"/home/podman/.local/share/containers/storage/overlay/865909.../work\" } }, \"Mounts\": [], \"Dependencies\": [], \"NetworkSettings\": { \"EndpointID\": \"\", \"Gateway\": \"\", \"IPAddress\": \"\", \"IPPrefixLen\": 0, \"IPv6Gateway\": \"\", \"GlobalIPv6Address\": \"\", \"GlobalIPv6PrefixLen\": 0, \"MacAddress\": \"\", \"Bridge\": \"\", \"SandboxID\": \"\", \"HairpinMode\": false, \"LinkLocalIPv6Address\": \"\", \"LinkLocalIPv6PrefixLen\": 0, \"Ports\": { \"80/tcp\": [ { \"HostIp\": \"\", \"HostPort\": \"8888\" } ] }, \"SandboxKey\": \"/run/user/1000/netns/netns-2343321-795a-8289-14c0-77ee2556ebf1\" }, \"Namespace\": \"\", \"IsInfra\": false, \"IsService\": false, \"KubeExitCodePropagation\": \"invalid\", \"lockNumber\": 1417, \"Config\": { \"Hostname\": \"444a8274863a\", \"Domainname\": \"\", \"User\": \"\", \"AttachStdin\": false, \"AttachStdout\": false, \"AttachStderr\": false, \"Tty\": false, \"OpenStdin\": false, \"StdinOnce\": false, \"Env\": [ \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\", \"container=podman\", \"HOME=/root\", \"HOSTNAME=444a8274863a\" ], \"Cmd\": null, \"Image\": \"registry/org/image:latest\", \"Volumes\": null, \"WorkingDir\": \"/\", \"Entrypoint\": \"/entrypoint.sh\", \"OnBuild\": null, \"Labels\": { \"io.buildah.version\": \"1.31.2\" }, \"Annotations\": { \"io.container.manager\": \"libpod\", \"org.opencontainers.image.stopSignal\": \"15\" }, \"StopSignal\": 15, \"HealthcheckOnFailureAction\": \"none\", \"CreateCommand\": [ \"podman\", \"run\", \"-d\", \"--name\", \"test\", \"-p\", \"8888:80\", \"registry/org/image:latest\" ], \"Umask\": \"0022\", \"Timeout\": 0, \"StopTimeout\": 10, \"Passwd\": true, \"sdNotifyMode\": \"container\" }, \"HostConfig\": { \"Binds\": [], \"CgroupManager\": \"systemd\", \"CgroupMode\": \"private\", \"ContainerIDFile\": \"\", \"LogConfig\": { \"Type\": \"journald\", \"Config\": null, \"Path\": \"\", \"Tag\": \"\", \"Size\": \"0B\" }, \"NetworkMode\": \"slirp4netns\", \"PortBindings\": { \"80/tcp\": [ { \"HostIp\": \"\", \"HostPort\": \"8888\" } ] }, \"RestartPolicy\": { \"Name\": \"\", \"MaximumRetryCount\": 0 }, \"AutoRemove\": false, \"VolumeDriver\": \"\", \"VolumesFrom\": null, \"CapAdd\": [], \"CapDrop\": [], \"Dns\": [], \"DnsOptions\": [], \"DnsSearch\": [], \"ExtraHosts\": [], \"GroupAdd\": [], \"IpcMode\": \"shareable\", \"Cgroup\": \"\", \"Cgroups\": \"default\", \"Links\": null, \"OomScoreAdj\": 0, \"PidMode\": \"private\", \"Privileged\": false, \"PublishAllPorts\": false, \"ReadonlyRootfs\": false, \"SecurityOpt\": [], \"Tmpfs\": {}, \"UTSMode\": \"private\", \"UsernsMode\": \"\", \"ShmSize\": 65536000, \"Runtime\": \"oci\", \"ConsoleSize\": [ 0, 0 ], \"Isolation\": \"\", \"CpuShares\": 0, \"Memory\": 0, \"NanoCpus\": 0, \"CgroupParent\": \"user.slice\", \"BlkioWeight\": 0, \"BlkioWeightDevice\": null, \"BlkioDeviceReadBps\": null, \"BlkioDeviceWriteBps\": null, \"BlkioDeviceReadIOps\": null, \"BlkioDeviceWriteIOps\": null, \"CpuPeriod\": 0, \"CpuQuota\": 0, \"CpuRealtimePeriod\": 0, \"CpuRealtimeRuntime\": 0, \"CpusetCpus\": \"\", \"CpusetMems\": \"\", \"Devices\": [], \"DiskQuota\": 0, \"KernelMemory\": 0, \"MemoryReservation\": 0, \"MemorySwap\": 0, \"MemorySwappiness\": 0, \"OomKillDisable\": false, \"PidsLimit\": 2048, \"Ulimits\": [ { \"Name\": \"RLIMIT_NOFILE\", \"Soft\": 524288, \"Hard\": 524288 }, { \"Name\": \"RLIMIT_NPROC\", \"Soft\": 256018, \"Hard\": 256018 } ], \"CpuCount\": 0, \"CpuPercent\": 0, \"IOMaximumIOps\": 0, \"IOMaximumBandwidth\": 0, \"CgroupConf\": null, }"

Авторы

  • Sagi Shnaidman (@sshnaidm)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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/containers/podman/podman_container_module.html

Spec-Zone.ru

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