Podman vs. Docker
| Feature | Podman | Docker |
|---|---|---|
| Daemon | Kein Daemon | dockerd |
| Rootless | Native | Konfiguration nötig |
| Pods | Ja (wie K8s) | Nein |
| systemd Integration | Nativ | Umweg |
| Docker-Kompatibilität | Hoch (alias) | – |
| Kubernetes-Export | Ja (YAML generieren) | Nein |
Podman installieren
# Ubuntu 24.04
apt install -y podman podman-compose
# Version
podman version
# Docker-Kompatibilität
echo "alias docker=podman" >> ~/.bashrc
Container-Verwaltung
# Image pullen und ausführen
podman pull nginx:stable-alpine
podman run -d --name web -p 8080:80 nginx:stable-alpine
# Alle Container
podman ps -a
# Logs
podman logs web
# In Container
podman exec -it web sh
# Container stoppen/entfernen
podman stop web && podman rm web
# Images
podman images
podman rmi nginx:stable-alpine
Pods (Kubernetes-ähnlich)
# Pod erstellen (Gruppe von Containern mit geteiltem Netzwerk)
podman pod create --name webapp -p 8080:80
# Container zum Pod hinzufügen
podman run -d --pod webapp --name nginx nginx:stable-alpine
podman run -d --pod webapp --name app my-app:latest
# Pod verwalten
podman pod list
podman pod start webapp
podman pod stop webapp
podman pod rm webapp
systemd Integration (Autostart)
# Service-Unit aus Container generieren
podman generate systemd --name web --files --new
# systemd-Unit installieren
cp container-web.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now container-web
# Bei Systemstart ohne Login
loginctl enable-linger $USER
Kubernetes YAML generieren
# Laufenden Container als Kubernetes YAML exportieren
podman generate kube webapp > webapp.yaml
cat webapp.yaml
# Kubernetes YAML starten (ohne echtes K8s!)
podman play kube webapp.yaml
Podman Compose
# docker-compose.yml ist kompatibel!
# compose.yaml
version: '3'
services:
web:
image: nginx:stable-alpine
ports:
- "8080:80"
app:
image: my-app:latest
environment:
DB_HOST: db
db:
image: postgres:16-alpine
environment:
POSTGRES_PASSWORD: secret
podman-compose up -d
podman-compose ps
podman-compose down
FAQ
Kann ich bestehende Docker-Images mit Podman nutzen?
Ja. Podman unterstützt alle OCI-kompatiblen Images (Docker Hub, ghcr.io, quay.io).
Fazit
Podman ist die sicherere Docker-Alternative für Linux-Server: kein Root-Daemon, native systemd-Integration und Kubernetes-Exportfunktion.
Container-Infrastruktur für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.