Podman#

Предупреждение

В Astra Linux Special Edition очередное обновление 1.8 программное обеспечение podman включено в состав основного репозитория.

Podman — инструмент командной строки с открытым исходным кодом, предоставляющий возможности поиска, сборки, передачи и запуска приложений в контейнерной изоляции. Функционально podman аналогичен системе контейнерной изоляции docker, но предоставляет дополнительные возможности по управлению группами контейнеров (т.н. оркестрация контейнеров, container orchestration) и может работать без прав доступа суперпользователя (root).

Предупреждение

По умолчанию podman использует в качестве средства контейнеризации библиотеку crun. В Astra Linux работа контейнеров поддерживается только при использовании контейнеризации runc, т.е. при работе в Astra Linux для запуска контейнеров следует использовать опции команды podman –runtime=runc и --cgroup-manager=cgroupfs.

Работа с контейнерами без прав суперпользователя имеет следующие особенности:

  • файлы непривилегированных пользователей хранятся в их домашних каталогах, в подкаталоге .local/share/containers;

  • непривилегированные пользователи по умолчанию не могут использовать привилегированные сетевые порты и некоторые команды;

Podman использует контейнеры стандарта Open Container Initiative (OCI), что обеспечивает совместимость с образами docker.

Основные пакеты

Пакет

Версия

Репозиторий

Описание

podman

5.1.1.astra1+ci1

installation

Запуск контейнеров на основе OCI в подах

Дополнительные пакеты

Пакет

Версия

Репозиторий

Описание

podman-compose

1.0.7~astra1+ci4

installation

Создание и поддержка контейнеров из конфигураций, совместимых с docker-compose

podman-toolbox

0.0.99.3

installation

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

cockpit-podman

67-1

extended

Веб-интерфейс для управления и мониторинга контейнерами (плагин для Cockpit)

Установка#

Для установки Podman следует перейти в интерфейс командной строки и выполнить:

Пункт 1#

  • установить пакет:

sudo apt install podman

Примечание

При работке с включенным мандатным управлением доступом (МРД) после установки пакета необходимо перезапустить пользовательскую сессию или перезагрузить операционную систему.

Термины#

Терминология podman совпадает с терминологией docker, описание в статье по Docker.

Дополнительно применяются термины:

  • под (pod) — группа контейнеров, выполняющихся совместно и разделяющих общие ресурсы. Подробное описание концепции подов доступно по ссылке: Pods;

  • регистр (registry) — служба, обеспечивающая хранение и распространение образов;

  • репозиторий (repository) — хранилище образов;

  • тэг (tag) — буквенно-цифровой идентификатор, присваиваемый образу в репозитории для дифференциации версий образов.

Основные команды#

Стандартный вызов инструмента имеет следующий синтаксис:

podman <опции> <podman-команда>

Где:

  • опции — необязательные модификаторы команд;

  • podman-команда — действие к исполнению. Команды при этом имеют собственные опции и аргументы и могут иметь собственные подкоманды, например docker pod create.

Стандартные команды podman в основном аналогичны командам по Docker.

Получить список опций и команд с их описанием можно выполнив команду:

podman --help

Подробные справки по podman-командам доступны в справочной системе man. Названия страниц справок формируются как podman-<команда>[-<подкоманда>].

Например, для команды attach справка может быть получена командой:

man podman-attach

А для команды podman create — командой:

man podman-pod-create

Полный список podman-команд с их описанием и описанием отличий от docker доступен по ссылке.