Что такое 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.

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

Жесткий диск   ClickHouse   HTTPS   IMAP   UWSGI   Rsync   Lua   Видеокарта   Seafile   PTR-запись   Service Mesh   Iptables   IRedMail   Elasticsearch   Bluetooth   Zimbra   MTU   AWS   Mango АТС   Podman  
.....

Реклама