Podman — это инструмент для управления контейнерами и подами, совместимый с OCI (Open Container Initiative), разработанный для выполнения контейнерных задач без постоянного фонового демона. Он предоставляет командную строку, совместимую с синтаксисом Docker CLI, и поддерживает выполнение контейнеров как от имени пользователя с правами root, так и в rootless-режиме, что повышает гибкость развертывания и соответствует современным требованиям безопасности. Podman также интегрируется с набором сопутствующих утилит и предоставляет графический интерфейс Podman Desktop для упрощения разработки и локального тестирования.
Проект возник как ответ на потребность в инструментах контейнеризации с более явным контролем процессов и меньшей зависимостью от центрального демона. Основными сценариями использования являются локальная разработка, тестирование контейнеризованных приложений, оркестрация простых наборов контейнеров (поды), создание и управление образами, а также интеграция с CI/CD-пайплайнами. В экосистеме Podman уделяется внимание совместимости с образами и спецификациями OCI, управлению сетями и хранилищем, а также обеспечению возможностей для безопасного выполнения контейнеров в многоарендной среде.
- Daemonless: выполнение контейнеров без постоянного фонового демона, процессы контейнеров управляются напрямую.
- Rootless-режим: поддержка запуска контейнеров от имени непривилегированных пользователей для повышения безопасности.
- Совместимость с OCI: поддержка стандартных образов и спецификаций контейнеров.
- CLI, совместимый с Docker: знакомый синтаксис команд и параметры для управления жизненным циклом контейнеров и образов.
- Pod-концепция: группировка связанных контейнеров в поды для совместного использования сетевых и пространственных ресурсов.
- Интеграция с Podman Desktop: графический интерфейс для разработки, отладки и управления локальными контейнерами и подами.
- Поддержка создания и управления образами: сборка, экспорт, импорт и подпись образов.
- Инструменты для оркестрации: генерация Kubernetes-манифестов и работа с существующими конфигурациями.
- Механизмы безопасности: использование пространств имён, cgroups и дополнительных средств контроля доступа.
- Совместимость с CI/CD: возможность автоматизации операций с контейнерами в скриптах и пайплайнах.