Перейти к основному содержимому
Конфигурационные файлы Podman

Конфигурационные файлы Podman

Конфигурационные файлы Podman описывают, как будет создаваться и работать контейнер, где будут храниться образы и т. д.

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

Виды конфигураций:

  • стандартная, поставляемая вместе с дистрибутивом (/usr/share/containers);
  • глобальная конфигурация для всей системы (/etc/containers);
  • пользовательская конфигурация — используется, когда пользователь хочет поменять конфигурацию Podman для своих целей ($HOME/.config/containers).

Приоритет конфигураций

Порядок, в котором Podman применяет конфигурацию, следующий:

1 — пользовательская,

2 — глобальная,

3 — стандартная.

Если на верхнем уровне не определены настройки, то Podman смотрит на следующие уровни, пока не найдет нужное поле или не просмотрит все файлы.

Виды конфигурационных файлов

├── auth.json           # описывает аутентификацию в реестрах контейнеров
├── certs.d # содержит файлы TLS-конфигурации для реестра контейнеров
├── containers.conf # описывает поведение контейнера
├── containers.conf.d # содержит файлы конфигурации отдельных компонентов системы
├── mounts.conf # описывает автоматическое монтирование контейнеров
├── oci # хранит json-файлы, указывающие хуки, выполняющиеся в жизненном цикле контейнера
│ └── hooks.d # содержит скрипты, которые выполняются в жизненном цикле контейнера
├── policy.json # описывает политики для валидации образов
├── registries.conf # описывает настройки реестров образов
├── registries.conf.d # содержит дополняющие файлы конфигурации для registires.conf
├── registries.d # описывает конфигурации для отдельных реестров
└── storage.conf # описывает параметры хранения контейнеров

Подробне о конфигурационных файлах

auth.json
примечание

Файл, содержащий учетные данные, созданные командой podman login: ключ в виде имени хоста или полного пути до образа, токены аутентификации к реестрам.

Путь: ${XDG_RUNTIME_DIR}/containers/auth.json.

Примечание:

Как правило, переменная окружения XDG_RUNTIME_DIR является подкаталогом в /run, и при перезагрузке все данные пропадают.

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

Если учетные данные отсутствуют в директории по умолчанию, выполните поиск по директориям, содержащим настройки rootless-пользователя: ${XDG_CONFIG_HOME}/containers/auth.json (обычно ~/.config/containers/auth.json).

certs.d
примечание

Каталог пользовательских TLS-сертификатов для конкретных реестров контейнеров.

Пути:

  • /etc/containers/certs.d,
  • $HOME/.config/containers/certs.d.
containers.conf, containers.conf.d
примечание

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

Пути:

  • /usr/share/containers/containers.conf — по умолчанию,
  • /etc/containers/containers.conf — назначается администратором,
  • /etc/containers/containers.conf.d — назначается администратором.

Для настройки, специфичной для конкретного пользователя, учитываются файлы (rootless-пользователи):

  • $XDG_CONFIG_HOME/containers/containers.conf,
  • $XDG_CONFIG_HOME/containers/containers.conf.d/*.conf,
  • $HOME/.config/containers/containers.conf, если $XDG_CONFIG_HOME не определена,
  • $HOME/.config/containers/containers.conf, если $XDG_CONFIG_HOME не определена.

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

Если задана переменная окружения CONTAINERS_CONF_OVERRIDE, конфигурационный файл будет загружен последним, даже если задана переменная окружения CONTAINERS_CONF.

mounts.conf
примечание

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

Пути:

  • /usr/share/containers/mounts.conf (по умолчанию),
  • /etc/containers/mounts.conf (назначается администратором),
  • $HOME/.config/containers/mounts.conf (для rootless пользователей).
oci/hooks.d
примечание

Директория, в которой хранятся:

  • хуки,
  • json-файлы, указывающие, какие хуки на каких этапах жизненного цикла контейнера выполняются.

Пути:

  • /usr/share/containers/oci/hooks.d/,
  • /etc/containers/oci/hooks.d/.
policy.json
примечание

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

Пути:

  • /etc/containers/policy.json,
  • $HOME/.config/containers/policy.json.
registries.conf
примечание

Общесистемный конфигурационный файл для реестров образов контейнеров. Формат файла — TOML.

Пути:

  • /etc/containers/registries.conf
  • $HOME/.config/containers/registries.conf

Также можно определить переменную окружения CONTAINERS_REGISTRIES_CONF.

registries.conf.d
примечание

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

Пути:

  • /etc/containers/registries.conf.d,
  • $HOME/.config/containers/registries.conf.d.
registries.d
примечание

Каталог для различных конфигураций реестров.

Пути:

  • /etc/containers/registries.d,
  • $HOME/.config/containers/registries.d
storage.conf
примечание

Файл с параметрами общего хранилища контейнеров.

Пути:

  • /etc/containers/storage.conf (по умолчанию),
  • $HOME/.config/containers/storage.conf (для rootless пользователей).

Также можно определить переменную CONTAINERS_STORAGE_CONF.

Руководства на man-страницах

Полезные переменные окружения

  • CONTAINERS_CONF — переопределение стандартного пути до containers.conf.

  • CONTAINERS_REGISTRIES_CONF — переопределение стандартного пути до registries.conf.

  • CONTAINERS_STORAGE_CONF — переопределение стандартного пути до storage.conf.

  • REGISTRY_AUTH_FILE — переопределение стандартного пути к файлу аутентификации auth.json.

  • XDG_CONFIG_HOME — переопределение пути до конфигурационных файлов в rootless-режиме: $XDG_CONFIG_HOME/containers вместо $HOME/.config/containers/.

  • XDG_DATA_HOME — переопределение директории хранения образов в rootless-режиме: $XDG_DATA_HOME/containers/storage вместо $HOME/.local/share/containers/storage.

  • XDG_RUNTIME_DIR — переопределение директории хранения временных конфигурационных данных в rootless-режиме в $XDG_RUNTIME_DIR/containers.