Разработчики анонсировали первый выпуск «Podman 2», мажорного обновления проекта podman – утилиты создания, запуска и управления контейнерами стандарта OCI. Podman является альтернативой проекту Docker и позволяет управлять контейнерами без наличия фонового системного сервиса и не требуя root-прав.
Для конечного пользователя изменения будут практически незаметными, однако в некоторых случаях изменится формат json-данных.
Основным отличием второй версии является полнофункциональный REST API. Экспериментальная реализация API на основе varlink была доступна и в первой ветке, но в новой версии она была полностью переработана. Вместо varlink-интерфейса теперь используется стандартный HTTP API.
Новый REST API имеет два слоя: интерфейс к функциям библиотеки libpod и слой совместимости частично реализующий функции Docker API. Для новых приложений, разумеется, рекомендуется использовать «родной» интерфейс libpod.
Новый REST API позволил существенно уменьшить размер клиентского приложения podman для Mac и Windows.
Основные изменения:
- REST API и
podman system service
больше не считаются экспериментальными и готовы для использования. - Команда podman может подключаться к удаленному сервису podman с помощью флага
--remote
. - Клиент podman был полностью переписан и теперь использует HTTP API вместо Varlink.
- Добавлена команда
podman system connection
для конфигурирования удаленных подключений, которые затем используются командамиpodman-remote
иpodman --remote
. - Команда
podman generate systemd
теперь поддерживает флаг--new
, и может создавать systemd-сервисы для подов. - Команда
podman play kube
поддерживает запуск deployment-объектов Kubernetes. - Команда
podman exec command
получила флаг--detach
для выполнения команд в фоне. - Флаг
-p
для командpodman run
иpodman create
теперь поддерживает форвардинг портов на IPv6-адреса. - Команды
podman run
,podman create
иpodman pod
теперь поддерживают флаг--replace
для пересоздания контейнера с тем же именем. - Флаг
--restart-policy
для командpodman run
иpodman create
теперь поддерживает политикуunless-stopped
. - Флаг
--log-driver
для командpodman run
иpodman create
может принимать значениеnone
, которое отключает запись логов контейнера. - Команда
podman generate systemd
принимает аргументы--container-prefix
,--pod-prefix
и--separator
, управляющие создаваемыми юнитами. - Команда
podman network ls
поддерживает флаг--filter
для отсеивания результатов. - Команда
podman auto-update
поддерживает указание файлаauthfile
для контейнера.
>>> Подробности