27 Inspect und Statusabfragen

27.1 Warum Statusabfragen bei Podman mehr sind als „läuft oder läuft nicht“

Bei daemonlosen Engines wie Podman ist die Statusabfrage kein Blick in die Zwischenspeicherung eines Daemons, sondern eine unmittelbare Analyse des tatsächlichen Systemzustands. Informationen zu Laufzeit, Ressourcen, Mounts oder Netzwerken stammen direkt aus Namespaces, Cgroups, Logfiles und dem Dateisystem. Das macht inspect und die dazugehörigen Statusbefehle zu präzisen Diagnosewerkzeugen – deutlich transparenter als in Umgebungen, in denen ein Daemon den Zustand abstrahiert oder zwischenspeichert.


27.2 Der zentrale Befehl: podman inspect

podman inspect liefert eine vollständige Darstellung eines Containerzustands im JSON-Format. Die Ausgabe umfasst:

Beispiel:

podman inspect mycontainer

Die Ausgabe kann leicht mehrere hundert Zeilen umfassen. Sie bildet nahezu alles ab, was Podman intern zur Laufzeit verwendet.


27.3 Sich orientieren: Wichtige Abschnitte im Inspect-Output

27.3.1 1. State

Der State-Block zeigt den aktuellen Containerstatus:

OOMKilled ist ein wertvoller Indikator, wenn ein Container durch Speicherlimits beendet wurde.

27.3.2 2. HostConfig

Definiert zentrale Laufzeitparameter:

Hier finden sich die typischen Ursachen für Startprobleme, Ressourcenengpässe oder fehlende Device-Zugriffe.

27.3.3 3. Mounts

Zeigt an:

Bei Dateizugriffsproblemen ist dies die erste Stelle, an der man prüft, ob Mounts wirklich dort gelandet sind, wo man sie erwartet hat.

27.3.4 4. NetworkSettings

Beinhaltet:

Netzwerkfehler – insbesondere zwischen mehreren Containern – lassen sich fast vollständig hier nachvollziehen.

27.3.5 5. Config

Der ursprüngliche Containerentwurf:

Wenn ein Container „etwas anderes tut als erwartet“, liegt der Grund häufig in diesem Abschnitt.


27.4 Container-Status im schnellen Überblick: ps, top, stats

27.4.1 podman ps

Standardbefehlt zur Übersicht über laufende Container:

podman ps

Listet:

Erweiterte Ansicht:

podman ps --size --ns

liefert zusätzlich:

27.4.2 podman top

podman top zeigt Prozesse eines Containers in Echtzeit:

podman top mycontainer

Der Befehl kann Felder gezielt abfragen:

podman top mycontainer user,pid,pcpu,pmem,etime

Ideal für Performance­analysen und Debugging von Lastspitzen.

27.4.3 podman stats

podman stats liefert Live-Metriken:

Beispiel:

podman stats --no-stream mycontainer

Das Format ermöglicht kontinuierliche Überwachung oder Integration in externe Tools.


27.5 Netzwerkstatus: inspect für Networks

Auch Netzwerke können inspiziert werden:

podman network inspect mynet

Angezeigt werden:

Ideal zur Fehlersuche in Multi-Container-Netzwerken und isolierten Testumgebungen.


27.6 Ereignisse statt Daemon-Status: podman events

Podman besitzt keinen Daemon, stellt aber über conmon Ereignisse bereit:

podman events

Typische Events:

Diese Ereignisse bilden exakt ab, was im System passiert – ohne Intermediärschicht.


27.7 Debugging und Diagnose mit Inspect

Einige typische Beispiele:

27.7.1 1. Container startet nicht

podman inspect --format '{{.State.ExitCode}}' mycontainer

Der Exit-Code gibt den ersten Hinweis.

27.7.2 2. Gerät oder Device fehlt

podman inspect --format '{{.HostConfig.Devices}}' mycontainer

Ist /dev/... nicht vorhanden, war der Startbefehl fehlerhaft.

27.7.3 3. Schreibprobleme im Container

podman inspect --format '{{.Mounts}}' mycontainer

Bind-Mounts werden häufig falsch gesetzt oder mit unerwartetem Modus (ro statt rw) versehen.

27.7.4 4. Netzwerkprobleme

podman inspect mycontainer | jq '.NetworkSettings.Networks'

Zeigt IP-Zuordnungen, Netzwerknamen und mögliche Konflikte.


27.8 Die technische Pointe: Inspect zeigt den realen Zustand

podman inspect bildet exakt das ab, was im System existiert – nicht die Sicht eines Daemons, sondern die tatsächlichen Strukturen:

Damit ist inspect weniger ein Informationsbefehl als ein präziser Spiegel der Realität des Containers. Der Befehl ist ein unverzichtbares Werkzeug für das Debugging, für tiefere Systemanalysen und für jede Form von betrieblichen Abläufen rund um Container auf Einzelhosts.