Способы оплаты Abuse

Что такое Podman и зачем он нужен

06.06.2025, 18:10

Podman — это современный инструмент для работы с контейнерами, который часто называют альтернативой Docker. Он позволяет запускать, управлять и группировать контейнеры, но делает это иначе — проще, безопаснее и гибче. В отличие от Docker, Podman не требует фоново работающего демона. Это значит, что сбой в одной части системы не «роняет» всё остальное. А ещё — контейнеры можно запускать без суперпользовательских прав, что снижает риски для системы. Удобно и то, что Podman совместим с Docker: большинство привычных команд работают почти так же.

Установка Podman

В большинстве современных дистрибутивов Linux Podman уже доступен в официальных репозиториях. В Ubuntu, Debian и CentOS установка сводится к одной строке. В Fedora он уже предустановлен.

 

Для Ubuntu, например, достаточно обновить список пакетов и установить Podman через apt. То же касается Debian. В CentOS и Fedora — через dnf. Проверить, что всё установилось, можно командой podman version.

Первый контейнер: быстро и просто

Допустим, вы хотите запустить веб-сервер внутри контейнера. Для этого можно взять готовый образ, например, Caddy. Образ скачивается из Docker Hub, после чего можно запустить контейнер — как от root, так и от обычного пользователя. Если вы запускаете контейнер от обычного пользователя, то используйте порты выше 1024, например 8080.

Управление контейнерами

Podman позволяет:
→ запускать и останавливать контейнеры;
→ смотреть, какие из них сейчас работают;
→ проверять, какие порты они используют;
→ читать логи;
→ выполнять команды внутри контейнера (например, настроить веб-сервер или отредактировать конфигурацию).

Все эти действия можно делать через простые команды в терминале — те же, что использовались бы в Docker.

А как же docker-compose?

Поддержка compose тоже есть. Podman позволяет собирать и запускать группы контейнеров из файла compose.yml, как и Docker. Для этого нужно активировать podman.socket и указать нужные переменные окружения. Также можно использовать podman-compose, если хотите именно эту реализацию.

Полная замена Docker

Если вы хотите, чтобы Podman работал в системе под видом Docker (например, для старых скриптов), это легко устроить. Устанавливается специальный пакет — podman-docker. После этого команда docker будет работать, но «под капотом» всё будет выполнять Podman.

Что такое «под»?

Одна из фишек Podman — возможность объединять контейнеры в поды. Это группы контейнеров, которые работают вместе, используют общую сеть, хранилище и другие ресурсы. По сути — мини-версия Kubernetes, но без лишней сложности.
Пример: можно собрать под из MySQL и phpMyAdmin. Внешне будет доступен только интерфейс phpMyAdmin, а сама база будет работать в том же поде, но «спрятана» от внешнего мира. Всё просто и безопасно.

Общие тома

Если несколько контейнеров в поде должны использовать одну директорию, это тоже решается одной строкой. Вы можете указать путь к общей папке при создании пода — или использовать именной том, который сохраняется в системной директории и будет доступен нужным контейнерам.

Подводим итог

Podman — это удобный, безопасный и гибкий инструмент для работы с контейнерами. Он работает без демона, запускается без root-доступа и легко может заменить Docker. А если вы хотите идти дальше — есть поддержка подов и compose.
Если вы раньше работали с Docker, вам не придётся переучиваться. А если только начинаете — Podman может стать хорошей отправной точкой.