Spec-Zone.ru › Ansible

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

Примечание

Этот модуль является частью коллекции containers.podman (версия 1.16.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

aliases: capabilities

list / elements=string

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

cap_drop

list / elements=string

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

cgroup_conf

dictionary

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

cgroup_parent

path

Путь к cgroups, в котором будет создана группа cgroup для контейнера. Если путь не абсолютный, путь считается относительным к пути cgroups процесса инициализации. Группы 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 (Completely Fair Scheduler) ЦП

cpu_quota

integer

Ограничить квоту планировщика CFS (Completely Fair Scheduler) ЦП

cpu_rt_period

integer

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

cpu_rt_runtime

integer

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

cpu_shares

integer

Доля ЦП (относительный вес)

cpus

string

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

cpuset_cpus

string

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

cpuset_mems

string

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

debug

boolean

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

Варианты:

  • false ← (default)
  • true

decryption_key

string

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

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 ← (default)

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

aliases: dns_servers

list / elements=string

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

dns_option

aliases: dns_opts

string

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

dns_search

aliases: dns_search_domains

string

Установить пользовательские DNS-поисковые домены (Используйте dns_search с ‘’ если вы не хотите устанавливать поисковый домен)

entrypoint

string

Перезаписать стандартное значение ENTRYPOINT образа

env

dictionary

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

env_file

aliases: env_files

список / элементы=путь

Считывает из файла, содержащего переменные окружения, разделённые строками. Не поддерживает идемпотентность. Если пользователи изменят файл с переменными окружения, им нужно будет пересоздать контейнер. Файл должен быть на удалённой машине, где фактически работает podman, а не на контрольной машине, где выполняется Ansible. Если необходимо скопировать файл с контрольной на удалённую машину, используйте модуль copy или slurp.

env_host

логический

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

Варианты:

  • false
  • true

env_merge

словарь

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

etc_hosts

aliases: add_hosts

словарь

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

executable

строка

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

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

expose

aliases: exposed, exposed_ports

список / элементы=строка

Выставить порт или диапазон портов (например, «3300-3310») для настройки перенаправления портов на системе хоста.

force_delete

логический

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

Варианты:

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

force_restart

aliases: restart

логический

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

Варианты:

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

generate_systemd

словарь

Генерировать системный файл unit для контейнера.

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

after

список / элементы=строка

Добавить опцию After= в системный файл unit, определяя зависимости между списком зависимостей и этой службой.

container_prefix

строка

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

names

логический

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

Варианты:

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

new

логический

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

Варианты:

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

no_header

логический

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

Варианты:

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

path

строка

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

pod_prefix

строка

Установить префикс имени системного файла unit для подсетей. По умолчанию «pod».

requires

список / элементы=строка

Установить опцию Requires= системного файла unit. Аналогично 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

Установите значение systemd service restartsec.

separator

string

Установите разделитель имени системного подразделения systemd между именем/идентификатором контейнера/подсети и префиксом. По умолчанию используется “-” (дефис).

start_timeout

integer

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

stop_timeout

aliases: time

integer

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

wants

list / elements=string

Добавить опцию systemd unit wants (Wants=), от которой эта служба (слабо) зависит.

gidmap

list / elements=string

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

gpus

string

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

group_add

aliases: 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

aliases: health_cmd

string

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

healthcheck_failure_action

aliases: health_on_failure

string

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

Варианты:

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

healthcheck_interval

aliases: health_interval

string

Установить интервал для проверок состояния (значение disable приводит к отсутствию автоматической настройки таймера) (по умолчанию “30s”)

healthcheck_retries

aliases: health_retries

integer

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

healthcheck_start_period

aliases: health_start_period

string

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

healthcheck_timeout

aliases: health_timeout

строка

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

hooks_dir

список / элементы=строка

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

hostname

строка

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

hostuser

строка

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

http_proxy

булево

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

Варианты:

  • false
  • true

image

строка

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

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

image_strict

булево

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

Варианты:

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

image_volume

строка

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

Варианты:

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

init

булево

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

Варианты:

  • false
  • true

init_ctr

строка

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

Варианты:

  • "once"
  • "always"

init_path

строка

Путь к бинарному файлу container-init.

interactive

булево

Сохранить STDIN открытым, даже если он не присоединён. Значение по умолчанию false. При значении true сохранить stdin открытым, даже если он не присоединён. Значение по умолчанию false.

Варианты:

  • false
  • true

ip

строка

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

ip6

строка

Указать статический IPv6-адрес для контейнера

ipc

aliases: ipc_mode

строка

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

kernel_memory

строка

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

label

aliases: labels

словарь

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

label_file

строка

Прочитать файл тегов с разделителем строк

log_driver

строка

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

Варианты:

  • "k8s-file"
  • "journald"
  • "json-file"

log_level

string

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

Варианты:

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

log_opt

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

словарь

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

max_size

строка

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

path

строка

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

tag

строка

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

mac_address

строка

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

memory

строка

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

memory_reservation

строка

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

memory_swap

строка

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

memory_swappiness

целое число

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

mount

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

список / элементы=строка

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

name

строка / обязательный

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

network

псевдонимы: net, network_mode

список / элементы=строка

Установите режим сети для контейнера * bridge создает стека сети на стандартном мосту * none без сетевого взаимодействия * container:<name|id> повторно использует сетевой стек другого контейнера * host использует сетевой стек хоста podman. * <имя-сети>|<id-сети> подключение к сети пользователя * ns:<path> путь к сетевому пространству для присоединения * slirp4netns использует slirp4netns для создания пользовательского сетевого стека. Это значение по умолчанию для rootless контейнеров

network_aliases

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

список / элементы=строка

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

no_healthcheck

логическое значение

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

Варианты:

  • false
  • true

no_hosts

логическое значение

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

Варианты:

  • false
  • true

oom_kill_disable

логическое значение

Включить/отключить механизм OOM Killer для контейнера. Значение по умолчанию – false.

Варианты:

  • false
  • true

oom_score_adj

целое число

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

os

строка

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

passwd

boolean

Разрешить Podman добавлять записи в /etc/passwd и /etc/group при использовании в сочетании с параметром –user. Это используется для переопределения настройки пользователя, предоставленной Podman, в пользу конфигураций entrypoint, таких как 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 процесса контейнера записывается в pid-файл.

pids_limit

string

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

platform

string

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

pod

string

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

pod_id_file

path

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

preserve_fd

list / elements=string

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

preserve_fds

string

Передать процессу N дополнительных дескрипторов файлов (кроме 0, 1, 2). Общее количество FDs равно 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.

publish_all

boolean

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

Варианты:

  • false
  • true

pull

string

Политика получения образа. По умолчанию «missing».

Варианты:

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

quadlet_dir

path

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

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 для принудительного пересоздания существующего контейнера.

Choices:

  • false ← (default)
  • true

requires

list / elements=string

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

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.

Choices:

  • false
  • true

rmi

boolean

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

Choices:

  • false
  • true

rootfs

boolean

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

Choices:

  • false
  • true

sdnotify

string

Определяет, как использовать NOTIFY_SOCKET, как передается с systemd и Type=notify. Может быть container, conmon, ignore.

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>. number должно быть больше 0. Unit необязателен и может быть b (байты), k (килобайты), m (мегабайты) или g (гигабайты). Если вы опустите unit, система будет использовать байты. Если вы полностью опустите размер, система будет использовать 64m

shm_size_systemd

string

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

sig_proxy

boolean

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

Choices:

  • false
  • true

state

string

absent - Контейнер, соответствующий указанному имени, будет остановлен и удален.

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

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

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

created - Утверждает, что контейнер существует с данной конфигурацией. Если контейнер не существует, модуль создает его и оставляет в состоянии «created». Если конфигурация не совпадает или установлен параметр «recreate», контейнер будет пересоздан.

quadlet - Записать файл quadlet с указанной конфигурацией.

Choices:

  • "absent"
  • "present"
  • "stopped"
  • "started" ← (default)
  • "created"
  • "quadlet"

stop_signal

integer

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

stop_time

string

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

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/ для допустимых часовых поясов. Дистанционные подключения используют local 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 / элементы=строка

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

ulimit

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

list / элементы=строка

Параметры ulimit

umask

string

Установка umask внутри контейнера. По умолчанию 0022. Дистанционные подключения используют local containers.conf для значений по умолчанию.

unsetenv

list / элементы=строка

Сброс переменных окружения по умолчанию для контейнера.

unsetenv_all

boolean

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

Варианты:

  • false
  • true

user

string

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

userns

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

string

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

uts

string

Установка режима UTS для контейнера

variant

string

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

volume

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

list / элементы=строка

Создание bind-монтирования. Если вы указываете volume /HOST-DIR:/CONTAINER-DIR, podman создаёт bind-монтирование /HOST-DIR на хосте к /CONTAINER-DIR в контейнере podman.

volumes_from

list / элементы=строка

Монтирование томов из указанного(ых) контейнера(ов).

workdir

aliases: working_dir

строка

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

Примеры

- 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
    device: "/dev/sda:/dev/xvda:rwm"
    ports:
      - "8080:80"
    volumes:
      - "/var/www:/usr/share/nginx/html"
    quadlet_options:
      - "AutoUpdate=registry"
      - "Pull=true"
      - |
        [Install]
        WantedBy=default.target

Значения возврата

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

Ключ

Описание

container

словарь

Данные, представляющие текущее состояние контейнера. Соответствует выводу команды 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/containers/podman/podman_container_module.html

Spec-Zone.ru

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