Podman folgt dem Grundsatz, dass Container Prozesse
sind – keine Objekte eines Daemons. Deshalb ist der Lebenszyklus bewusst
granular gestaltet: Erstellen, Starten, Stoppen und Löschen sind
getrennte Schritte. Wer aus dem Docker-Ökosystem kommt, ist häufig daran
gewöhnt, dass docker run mehrere dieser Schritte verdeckt.
Podman dagegen zeigt jede Phase klar und nachvollziehbar. Die
Steuerbarkeit steigt, und Fehler lassen sich deutlich exakter
lokalisieren.
podman create erzeugt eine Containerdefinition, aber
noch keinen Prozess. Angelegt werden:
Beispiel:
podman create --name app \
-v /data:/data \
alpine:3.19Der Container existiert nun, läuft aber nicht. In diesem Zustand lassen sich Konfigurationen bequem prüfen:
Fehler, die bereits beim create auftreten, liegen immer in der Konfiguration – nicht in der Laufzeit.
Mit podman start wird der Containerprozess tatsächlich
erzeugt. Intern geschieht Folgendes:
Die CLI ruft conmon auf.
Conmon ruft die Runtime (crun oder runc) auf.
Die Runtime erzeugt die isolierten Namespaces:
Das Root-Dateisystem wird eingebunden.
Die Cgroup wird eingerichtet.
Der definierte EntryPoint wird ausgeführt (PID 1 im Container).
Conmon bleibt als Supervisor bestehen.
Ablaufdiagramm:

Wenn die CLI beendet wird, läuft der Container weiter – conmon hält die Kontrolle.
podman stop verhält sich wie klassische Prozesssteuerung
unter Unix.
Zuerst wird ein SIGTERM gesendet. Dadurch können Prozesse:
Reagiert der Prozess nicht, erfolgt nach einem definierbaren Timeout ein SIGKILL:
podman stop --timeout 10 appSIGKILL ist nicht abfangbar und beendet sofort.
podman kill sendet unmittelbar ein Signal –
standardmäßig SIGKILL.
podman kill appEigenschaften:
Man kann auch andere Signale senden:
podman kill --signal SIGUSR1 appDas ist sinnvoll für Anwendungen, die über Signalschnittstellen gesteuert werden (z. B. Hot-Reload oder Reopen-Logging).
podman rm beseitigt alle containerbezogenen
Ressourcen:
Beispiel:
podman rm appDas Image bleibt bestehen. Entfernte Container können jederzeit auf Basis desselben Images neu instanziiert werden – reproduzierbar und ohne Altlasten.
Volumes werden nicht gelöscht, da sie bewusst außerhalb des Containerlebenszyklus liegen.
Visualisierung:

Der Lebenszyklus folgt dem klassischen Prozessmodell:
Podman abstrahiert nicht – es zeigt die Mechanik. Diese Transparenz macht den Umgang mit Containern klarer, nachvollziehbarer und technisch sauber.