Die Befehle inspect, diff,
stats und events gehören zu den mächtigsten
Diagnosewerkzeugen in Podman. Sie bilden die unteren Schichten einer
observability-orientierten Toolchain, die ohne zusätzlichen Agenten oder
Daemon funktioniert. Wer diese Kommandos beherrscht, verfügt über einen
tiefen, prozessnahen Zugang zu Container- und Pod-Zuständen – und kann
Probleme diagnostizieren, lange bevor eine Anwendung in Logs überhaupt
sichtbar wird. Dieses Kapitel beleuchtet die Funktionsweise,
Einsatzgebiete und typischen Diagnoseszenarien dieser Werkzeuge.
podman inspect ist das zentrale Werkzeug, um Container-
oder Podinformationen in strukturierter Form abzurufen. Während Logs
Symptome zeigen, liefert inspect Architektur und Fakten –
als JSON, vollständig und maschinenlesbar.
Beispiel:
podman inspect <container>
Inspect liefert u. a.:
PID, Namespaces)Dieses JSON dient nicht nur Entwicklern, sondern auch Automatisierungswerkzeugen zur Validierung und Statusermittlung.
inspect beantwortetWarum ist mein Port nicht erreichbar? → Blick
auf NetworkSettings.Ports.
Warum startet mein Container nicht? →
State.Error und State.ExitCode.
Warum kann der Container nicht schreiben? →
Mounts + SELinux-Labels prüfen.
Wie sieht der tatsächliche Startbefehl aus? →
Config.Cmd und Config.Entrypoint.
Welche Capabilities besitzt ein Container? →
unter HostConfig.CapAdd, CapDrop.
Inspect zeigt also nicht nur Konfiguration, sondern auch die umgesetzte Realität, die Podman tatsächlich ausführt.
Container-Images sind unveränderlich – aber laufende Container
verändern oft ihr Root-Filesystem, etwa durch Logs, generierte Dateien
oder temporäre Artifakte. podman diff zeigt exakt diese
Unterschiede zwischen dem Image und dem laufenden Container.
podman diff <container>
Es gibt drei Kategorien:
A – AddedC – ChangedD – DeletedEin typisches Beispiel:
C /var/log/app.log
A /data/output.json
D /tmp/config.tmp
diffDebugging ungewollter Schreiboperationen → zeigt, ob die Anwendung ins Image-Filesystem statt ins Volume schreibt.
Identifikation von Konfigurationsänderungen während runtime → Was hat der Prozess modifiziert?
Diagnose von immutability-Verstößen → Hilft, Clean-Code-Fehler in Containerisierten Anwendungen zu finden.
Vergleich zweier Containerzustände → Besonders wertvoll, wenn „es funktioniert nur auf meinem Rechner“ auftritt.
Diff ist eines der am meisten unterschätzten Tools in Podmans Werkzeugkasten.
Wenn ein Container „ruckelt“, „hängt“ oder „wie tot aussieht“,
liefert podman stats die entscheidende
Echtzeitperspektive:
podman stats <container|pod>
Angezeigt werden:
stats nutzt die cgroup-Daten direkt aus dem Kernel –
ohne künstliche Aggregation. Das ergibt präzise, Host-nah
interpretierbare Zahlen.
stats aufdecktCPU-Spikes → Threads hängen in Endlosschleifen oder Garbage-Collector-Sweeps.
Memory-Leaks → Steigende Kurve, bis der OOM-Killer zuschlägt.
Block-I/O-Sättigung → Container wartet auf langsame Volumes oder NFS-Mounts.
Netzwerküberlastung → häufige Ursache für Latenzprobleme.
Zombie-Prozesse → viele
defunct-Einträge in Kombination mit PID-Leaks.
Wer stats regelmäßig einsetzt, sieht frühzeitig
unerwünschte Ressourcendynamiken.
podman events zeigt die Echtzeit-Ereignisse aus Podmans
Lebenszyklus. Diese Event-Stream-Mechanik ermöglicht eine präzise
Diagnose zeitlicher Abläufe.
podman events
Ein Auszug:
2025-11-23 10:01:23 create container 123abc
2025-11-23 10:01:23 start container 123abc
2025-11-23 10:01:27 stop container 123abc
2025-11-23 10:01:27 die container 123abc
2025-11-23 10:01:27 oom container 123abc
Crashloops → Container startet und stirbt innerhalb weniger Sekunden.
Out-of-memory → Event: oom zeigt
klar die Ursache, auch wenn Logs leer sind.
Restart Policies werden ausgelöst → Events zeigen eine regelmäßige Restart-Schleife.
Lifecycle-Fehler von Pods → initContainer starten nicht → Pod bleibt hängen → Events zeigen die Reihenfolge.
Podman kann auch vergangene Events anzeigen:
podman events --since 1h
Ideal, wenn ein Fehler nicht mehr live sichtbar ist.
Die vier Werkzeuge entfalten ihre Stärke erst im Zusammenspiel.
Typischer Troubleshooting-Flow:

Beispiel: Ein Container stürzt „zufällig“ ab.
oom bestätigt das VerhaltenOhne diese Kette wäre die Diagnose ungleich schwieriger.
inspect immer zuerst bei
Strukturproblemenevents für zeitbasierte Fehler oder Restart-Loopsstats bei Performanceproblemendiff bei unerklärlichen Laufzeitveränderungenjournalctl -k nutzen, besonders bei
OOMinspect, diff, stats und
events bilden eine präzise Diagnosesuite für Podman. Jedes
Werkzeug beleuchtet eine andere Achse des Containerverhaltens: Struktur,
Dateisystem, Ressourcen und Zeit. Zusammen ermöglichen sie eine
Diagnosequalität, die nah am Kernel agiert und exakt das liefert, was in
produktionsnaher Architekturarbeit unverzichtbar ist.