Модуль 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. Варианты:
|
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, например |
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. |
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 | Возвращать дополнительную информацию, которая может быть полезна для анализа. Варианты:
|
decryption_key string | «Ключевая фраза» для расшифровки образов. В качестве ключа можно указать ключи и/или сертификаты. |
delete_depend boolean | Удалить выбранный контейнер и рекурсивно удалить все контейнеры, которые от него зависят. Применяется к команде «delete». Варианты:
|
delete_time string | Количество секунд ожидания перед принудительной остановкой контейнера. Для бесконечного ожидания укажите -1. Применяется к команде «delete». |
delete_volumes boolean | Удалить анонимные тома, связанные с контейнером. Это не касается именованных томов, созданных с помощью podman volume create, или параметра --volume команд podman run и podman create. Варианты:
|
detach boolean | Запустить контейнер в фоновом режиме Варианты:
|
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. Варианты:
|
env_merge dictionary | Предварительно обработать переменные окружения контейнеров по умолчанию |
etc_hosts псевдонимы: add_hosts dictionary | Словарь соответствий имён хостов IP-адресам, где каждое имя хоста является ключом словаря. Каждое имя будет добавлено в файл ``/etc/hosts`` контейнера. |
executable string | Путь к исполняемому файлу По умолчанию: |
expose псевдонимы: exposed, exposed_ports list / elements=string | Открыть порт или диапазон портов (например, expose “3300-3310”), чтобы настроить перенаправление портов в системе хоста. |
force_delete boolean | Принудительно удалить контейнер при его удалении. Варианты:
|
force_restart псевдонимы: restart boolean | Принудительно перезапустить контейнер. Варианты:
|
generate_systemd dictionary | Создать файл модуля systemd для контейнера. По умолчанию: |
|
after list / elements=string |
Добавить в модуль systemd параметр After=, задающий порядок между списком зависимостей и этой службой. |
|
container_prefix string |
Задать префикс имени модуля systemd для контейнеров. По умолчанию используется «container». |
|
names boolean |
Использовать имена контейнеров для запуска, остановки и описания в файле модуля. По умолчанию — true. Варианты:
|
|
new boolean |
Создавать контейнеры и поды при запуске модуля вместо ожидания, что они уже существуют. По умолчанию — «false». Дополнительные сведения см. в podman-generate-systemd(1). Варианты:
|
|
no_header boolean |
Не создавать заголовок с метаданными, такими как версия Podman и временная метка. Начиная с версии Podman 3.1.0. Варианты:
|
|
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». Варианты:
|
|
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». Варианты:
|
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 Варианты:
|
image string | Путь к репозиторию (или имя образа) и тег, используемые для создания контейнера. Если образ не найден, он будет загружен из реестра. Если тег не указан, будет использоваться Также может быть указан идентификатор образа. В этом случае предполагается, что образ доступен локально. |
image_strict boolean | Следует ли при проверке идемпотентности сравнивать образы с учётом полного имени, включающего реестр и пространства имён. Варианты:
|
image_volume string | Указывает podman, как обрабатывать встроенные тома образа. Допустимые значения: bind, tmpfs или ignore (по умолчанию bind) Варианты:
|
init boolean | Запускает внутри контейнера процесс init, который пересылает сигналы и собирает завершившиеся процессы. По умолчанию — false. Варианты:
|
init_ctr string | (Только для подов). При использовании подов создаёт контейнер типа init, который запускается после запуска инфраструктурного контейнера, но до запуска обычных контейнеров пода. Варианты:
|
init_path string | Путь к исполняемому файлу container-init. |
interactive boolean | Оставляет STDIN открытым, даже если он не подключён. По умолчанию — false. Если задано значение true, stdin остаётся открытым, даже если он не подключён. По умолчанию — false. Варианты:
|
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”. Варианты:
|
log_level string | Уровень журналирования Podman. Записывает сообщения выше указанного уровня (“debug”|”info”|”warn”|”error”|”fatal”|”panic”) (по умолчанию “error”) Варианты:
|
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 | Отключает все определённые проверки работоспособности контейнера. Допустимые значения:
|
no_hosts boolean | Не создавать файл /etc/hosts для контейнера. Значение по умолчанию — false. Допустимые значения:
|
oom_kill_disable boolean | Отключить ли OOM Killer для контейнера. Значение по умолчанию — false. Допустимые значения:
|
oom_score_adj integer | Настраивает приоритет OOM для контейнеров на хосте (принимает значения от -1000 до 1000). |
os string | Переопределяет ОС образа, который будет загружен; по умолчанию используется ОС хоста. Например, windows. |
passwd boolean | Разрешить Podman добавлять записи в /etc/passwd и /etc/group при использовании вместе с параметром --user. Это позволяет заменить настройку пользователя, предоставляемую Podman, конфигурацией точки входа, например libnss-extrausers. Допустимые значения:
|
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. Допустимые значения:
|
publish aliases: ports, published, published_ports list / elements=string | Публикует порт или диапазон портов контейнера на хосте. Формат: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort. Если указан только containerPort, Podman случайным образом выберет hostPort. |
publish_all boolean | Публикует все открытые порты на случайные порты сетевых интерфейсов хоста. Значение по умолчанию — false. Допустимые значения:
|
pull string | Политика загрузки образа. Значение по умолчанию — ‘missing’. Допустимые значения:
|
quadlet_dir path | Путь к каталогу для записи файла quadlet. По умолчанию для пользователя root используется |
quadlet_file_mode any | Права доступа к файлу quadlet. Параметр Если параметр Если параметр Указание |
quadlet_filename string | Имя записываемого файла quadlet. По умолчанию используется значение |
quadlet_options list / elements=string | Параметры файла quadlet. Передайте отсутствующие параметры обычных аргументов контейнера в виде списка строк для добавления. |
rdt_class string | Rdt-class задаёт класс обслуживания (CLOS или COS), в котором будет работать контейнер. Требуются права root. |
read_only boolean | Подключает корневую файловую систему контейнера только для чтения. Значение по умолчанию — false. Допустимые значения:
|
read_only_tmpfs boolean | Если контейнер работает в режиме --read-only, подключает для чтения и записи файловую систему tmpfs в /run, /tmp и /var/tmp. Значение по умолчанию — true. Допустимые значения:
|
recreate boolean | Используется с состояниями present и started для принудительного пересоздания существующего контейнера. Допустимые значения:
|
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. Допустимые значения:
|
rmi boolean | После завершения работы контейнера удаляет образ, если он не используется другим контейнером. Для нового контейнера подразумевает параметр --rm. Значение по умолчанию — false. Допустимые значения:
|
rootfs boolean | Если значение равно true, первый аргумент указывает на распакованный контейнер в файловой системе. Значение по умолчанию — false. Допустимые значения:
|
sdnotify string | Определяет способ использования NOTIFY_SOCKET, передаваемого с systemd и Type=notify. Допустимые значения: container, conmon, ignore. Для quadlet также можно использовать значение healthy для применения встроенных проверок работоспособности. Подробнее см. в документации. |
seccomp_policy string | Указывает политику выбора профиля seccomp. |
secrets list / elements=string | Добавляет именованные секреты в контейнер. Формат: |
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. Допустимые значения:
|
state string | absent — контейнер с указанным именем будет остановлен и удалён. present — гарантирует существование контейнера с указанным именем и всеми заданными параметрами конфигурации. Если контейнер с таким именем не найден, он будет создан. Если контейнер найден, но его конфигурация не соответствует заданным параметрам, она будет обновлена, если это возможно. Если обновление невозможно, контейнер будет удалён и создан заново с требуемой конфигурацией. При сравнении конфигураций учитывается версия образа. Используйте параметр recreate, чтобы принудительно пересоздать найденный контейнер. started — гарантирует, что существует запущенный контейнер с указанным именем и всеми заданными параметрами конфигурации. Если контейнер с таким именем не найден, он будет создан и запущен. Используйте recreate, чтобы всегда пересоздавать найденный контейнер, даже если он работает. Используйте force_restart, чтобы принудительно остановить и перезапустить найденный контейнер. stopped — гарантирует, что контейнер сначала находится в состоянии present, а затем, если он работает, переводит его в остановленное состояние. created — гарантирует, что контейнер существует с заданной конфигурацией. Если контейнер не существует, модуль создаёт его и оставляет в состоянии ‘created’. Если конфигурация не совпадает или задан параметр ‘recreate’, контейнер будет создан заново. quadlet — записывает файл 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 и проверять сертификаты при загрузке образов. Варианты:
|
tmpfs dictionary | Создать точку монтирования tmpfs. Например: tmpfs «/tmp» «rw,size=787448k,mode=1777» |
tty boolean | Выделить псевдотерминал (TTY). Значение по умолчанию — false. Варианты:
|
uidmap list / elements=string | Запустить контейнер в новом пользовательском пространстве имён, используя указанное отображение. |
ulimit псевдонимы: ulimits list / elements=string | Параметры ulimit |
umask string | Установить umask внутри контейнера. По умолчанию — 0022. Для удалённых подключений значения по умолчанию берутся из локального файла containers.conf. |
unsetenv list / elements=string | Сбросить переменные среды контейнера, заданные по умолчанию. |
unsetenv_all boolean | Сбросить все переменные среды контейнера, заданные по умолчанию. Варианты:
|
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 факты входят в зарегистрированные переменные. Для обеспечения совместимости к фактам также можно обращаться напрямую как к Пусто, если Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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