Podman rootless на VPS: контейнеры без Docker daemon
Podman на VPS: rootless-контейнеры, podman-compose, systemd user units. Безопасная альтернатива Docker для одного сервера.
Краткий ответ: Podman запускает OCI-контейнеры без фонового daemon. Rootless-режим — контейнеры от обычного пользователя, меньше attack surface чем Docker socket.
На shared VPS или когда не хотите отдавать root Docker — Podman + systemd user = production-ready для одного приложения.
Podman vs Docker
| Podman | Docker | |
|---|---|---|
| Daemon | Нет | dockerd |
| Rootless | Из коробки | Возможен, сложнее |
| docker-compose | podman-compose / compose | Да |
| Kubernetes | pods natively | через k8s |
Миграция с Docker Compose — часто достаточно заменить docker на podman.
Установка (Ubuntu/Debian)
sudo apt install podman podman-compose -y
podman --version
Rocky/RHEL:
sudo dnf install podman podman-compose -y
Rootless setup
# От пользователя deploy (не root)
podman info --format '{{.Host.Security.Rootless}}'
Если false, настройте subuid/subgid:
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 deploy
Перелогиньтесь.
Первый контейнер
podman run -d --name web -p 8080:80 docker.io/nginx:alpine
curl localhost:8080
podman-compose
# compose.yml
services:
app:
image: docker.io/library/nginx:alpine
ports:
- "8080:80"
podman-compose up -d
Reverse proxy — Nginx или Traefik на хосте.
Автозапуск через systemd user
podman generate systemd --name web --files --new
mkdir -p ~/.config/systemd/user
mv container-web.service ~/.config/systemd/user/
systemctl --user enable --now container-web.service
loginctl enable-linger deploy
enable-linger — контейнеры стартуют после reboot без login session.
Безопасность
- Не давайте доступ к Docker socket на prod — Podman rootless решает это
- Обновляйте образы:
podman pull+ restart - Сеть — nftables, только 80/443 снаружи
Итог
Podman rootless на VPS — контейнеры без daemon и без root. Идеален для solo-dev и одного стека приложений.
VPS 1 GB+ — StormNet Cloud. UI — Portainer (Docker). Оркестрация — k3s.
Рекомендуем прочитать
Частые вопросы
Podman полностью заменяет Docker?
Для большинства OCI-образов — да. Docker Compose файлы часто работают через podman-compose. Swarm и Docker-specific фичи — нет.
Зачем rootless Podman на VPS?
Контейнеры без root и без dockerd снижают риск: компрометация контейнера не даёт root на хосте через socket.






