Podman Compose — утилита для управления многоконтейнерными приложениями с использованием файлов конфигурации, совместимых с форматом Docker Compose, работающая в экосистеме Podman. Проект возник как попытка предоставить пользователям привычный интерфейс и декларативную модель описания сервисов на базе Compose-файлов, при этом опираясь на бездемоновую архитектуру Podman, что отличает его от классического Docker Compose, требующего фоновый демон.
Инструмент реализует создание, запуск и оркестрацию контейнеров и сетевых ресурсов, описанных в YAML-файлах, переводя декларативные спецификации в последовательность команд Podman. Благодаря этому он позволяет запускать многоконтейнерные среды разработки и тестирования без необходимости разворачивать отдельный демон-контейнерный процесс, поддерживая локальные сценарии и интеграцию с существующими возможностями Podman по управлению образами, контейнерами и томами.
- Совместимость с Compose-файлами: поддержка большинства ключевых полей Docker Compose YAML для описания сервисов, сетей и томов, с оговорками по некоторым специфичным директивам.
- Бездемоновая архитектура: использует механизмы Podman для запуска контейнеров напрямую, без отдельного фонового сервиса, что упрощает управление процессами и пользователями.
- Запуск и управление сервисами: команды для создания, запуска, остановки и удаления групп контейнеров, сопоставимые с командами Docker Compose.
- Работа с подами: возможность группировать связанные контейнеры в pods Podman для совместного управления сетевыми и пространственными настройками.
- Сетевые конфигурации: настройка мостовых и пользовательских сетей, проброс портов и сопоставление адресов, реализуемое средствами Podman.
- Томана и управление состоянием: поддержка декларации томов и их монтирования в контейнеры, с сохранением данных между запусками.
- Совместимость с rootless: возможность работы в безпривилегированном режиме (rootless), как это допускает Podman, с соответствующими ограничениями по сетям и ресурсам.
- Интеграция с образом и реестрами: использует стандартные механизмы Podman для загрузки и хранения образов из локальных и удалённых реестров.
- Упрощённый переход с Docker Compose: ориентирован на пользователей, желающих минимально изменить рабочие процессы при переходе от Docker к Podman.
- Ограничения и несовместимости: некоторые функции Docker Compose или плагины могут быть ограничены или не реализованы из‑за различий в реализации сетей, бэкенд-сервисов или дополнительных директив.