Что такое Podman

Обновлено и опубликовано Опубликовано:

Podman —
простыми словами

платформа для управления контейнерами, позволяющая виртуализировать приложения/процессы. Такие приложения запускаются в изолированной среде со всем необходимым для своей работы. Podman является бесплатным приложением с открытым исходным кодом. Он разработан и поддерживается компанией Red Hat.

Функционально похож на Docker. Разработчики, даже, позаботились, чтобы базовые команды совпадали. Например:

podman ps

podman run

podman images

* эти команды, соответственно, позволят просмотреть список контейнеров, запустить контейнер и отобразить список загруженных образов. В докере используются аналогичные команды — docker psdocker run и docker images.

Обе системы соответствуют стандарту Open Container Initiative (OCI).

Различия между Docker и Podman:

  1. Podman позволяет выгрузить конфигурацию Pod в yml-файл, готовый для загрузки в Kubernetes.
  2. По умолчанию, Docker запускает контейнеры с правами root, что делает его менее безопасной платформой контейнеризации.
  3. Docker работает как сервис (daemon), Podman запускает контейнер без привязки к сервису. Данный факт подается как преимущество Podman из-за уменьшения точки отказа — это делает систему надежнее.
  4. Podman умеет работать с Pod'ами, позволяя объединять несколько контейнеров в общий сервис. В Docker есть похожий подход, реализуемый с помощью docker-compose. К стати, отсюда и название — Pod Manager.
  5. Docker предлагает нативную кластеризацию в виде Docker Swarm, которая позволяет настроить отказоустойчивость с минимальными трудозатратами. Podman предлагает только вышеописанную выгрузку в Kubernetes.

Несмотря на описанные преимущества, на данный момент, Podman менее распространен, имеет меньшую поддержку сообщества и работает не без ошибок. Поэтому обе системы контейнеризации обсуждаются и имеют право называться лидерами в области виртуализации процессов.

Для работы с Podman применяются следующие команды:

  • podman — управление контейнерами и образами.
  • skopeo — копирование контейнеров и образов между различными типами хранилищ.
  • buildah — создание образов. Для этого используется файл Containerfile (или Dockerfile) с декларативным описанием правил сборки.
  • runc — команда для запуска любых контейнеров, которые соответствуют спецификации OCI.


Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

DHCP   Redmine   Mail.ru   Javascript   NFS   Rocky Linux   MAPI   SMTP   ИБП (UPS)   HAProxy   Icecast   Маска сети   DNSSEC   Svacer   Оперативная память   Golang   Bareos   Astra Linux   FAT   Fail2ban  
.....

Реклама