Если напрягает громоздкость Docker и хотите более гибкий инструмент - стоит обратить внимание на Podman. Это альтернатива Docker, которая полностью совместима с его CLI, но не требует запуска отдельного демона. Да, так и есть - никаких dockerd, sudo systemctl start docker и прочего.
Podman - это инструмент для управления контейнерами и образами, разработанный Red Hat. Он использует стандарт OCI (Open Container Initiative), а значит, большинство Docker-образов и команд будут работать "из коробки".
🌟 Ключевые особенности:
- Без демона: каждый контейнер запускается как обычный процесс, что упрощает отладку и снижает риски.
- Rootless режим: контейнеры можно запускать от обычного пользователя, без sudo и потенциальных угроз для всей системы.
- Совместимость с Docker CLI: команды podman run, podman build, podman pull и даже alias docker=podman - работают почти идентично.
- Интеграция с systemd: можно легко генерировать systemd-юниты из контейнеров (podman generate systemd).
▪️ Пример использования
# Установка на Ubuntu
sudo apt install podman
# Запуск контейнера nginx
podman run -d -p 8080:80 nginx
# Список контейнеров
podman ps
# Просмотр логов
podman logs <container-id>
# Остановка и удаление
podman stop <id> && podman rm <id>
▪️ А что с Pod?
В отличие от Docker, Podman реализует концепцию Pods (как в Kubernetes), где можно запускать сразу несколько контейнеров с общей сетью и IPC. Это отличный способ протестировать Kubernetes-архитектуру локально без сложных инструментов.
podman pod create --name mypod -p 8080:80
podman run -dt --pod=mypod nginx
❓ Когда Podman - лучший выбор?
- Вам нужен rootless контейнерный запуск для большей безопасности.
- Вы хотите обойтись без демона и уменьшить нагрузку на систему.
- Вы планируете использовать systemd для управления контейнерами.
- Вы работаете в серверной среде, где минимализм важнее.
#podman
🧑💻 NetworkAdmin