Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:container_untersuchen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:container_untersuchen [2026/10/05 15:44] – ingo_wichmannadmin_grundlagen:docker:container_untersuchen [2026/10/12 14:23] (aktuell) – [weiteres Terminal im Container starten] ingo_wichmann
Zeile 3: Zeile 3:
 Container starten, der untersucht werden soll: Container starten, der untersucht werden soll:
   docker container run --rm -d -P --name whoami containous/whoami   docker container run --rm -d -P --name whoami containous/whoami
 +
 +===== weiteres Terminal im Container starten =====
 +geht nur, wenn der Container auch eine Shell enthält
 +  docker container exec -it whoami bash
  
 ===== Dateisystem des Containers untersuchen ===== ===== Dateisystem des Containers untersuchen =====
Zeile 9: Zeile 13:
   docker info -f '{{ .DriverStatus }}'   docker info -f '{{ .DriverStatus }}'
 Eine Auswahl möglicher Ergebnisse: Eine Auswahl möglicher Ergebnisse:
-++++ ''[[driver-type io.containerd.snapshotter.v1]]'' | +  * ''<nowiki>[[driver-type io.containerd.snapshotter.v1]]</nowiki>'' ++ Dateisystem finden |  
- +(( mit jq:/
-Wenn das so ist, dann kann man so das Dateisystem des Containers ''whoami'' finden:  +
-(( mit jq:+
   id=$(docker inspect whoami | jq -r '.[].Id')   id=$(docker inspect whoami | jq -r '.[].Id')
 )) ))
Zeile 18: Zeile 20:
   sudo jq -r '.root.path' /run/containerd/io.containerd.runtime.v2.task/moby/$id/config.json   sudo jq -r '.root.path' /run/containerd/io.containerd.runtime.v2.task/moby/$id/config.json
 -> gibt das Verzeichnis aus -> gibt das Verzeichnis aus
-++++ +++ 
-++++ ''[[Backing Filesystem extfs] [Supports d_type true] [Using metacopy false] [Native Overlay Diff true] [userxattr false]]'' |+  * ''<nowiki>[[Backing Filesystem extfs] [Supports d_type true] [Using metacopy false] [Native Overlay Diff true] [userxattr false]]</nowiki>'' ++ Dateisystem finden |
   docker inspect --format '{{.GraphDriver.Data.MergedDir}}' whoami   docker inspect --format '{{.GraphDriver.Data.MergedDir}}' whoami
 -> gibt das Verzeichnis aus -> gibt das Verzeichnis aus
-++++ +++
- +
-===== Container zur Untersuchung eines anderen Containers ===== +
-Neuen Container starten, der die selben Netzwerk- , IPC- und PID-Namespaces teilt: +
-  docker run --rm -it --network=container:whoami --ipc=container:whoami --pid=container:whoami -v $(docker inspect --format '{{.GraphDriver.Data.MergedDir}}' whoami):/whoami --cap-add=SYS_PTRACE debian bash+
  
 +===== kurzlebige Diagnose Container zur Untersuchung eines anderen Containers =====
 +Neuen Container starten, der die selben Netzwerk- , IPC- und PID-Namespaces teilt:((
 TODO: TODO:
   docker debug whoami   docker debug whoami
 +))
 +  container_root=$(docker inspect --format '{{.GraphDriver.Data.MergedDir}}' whoami)
 +  docker run --rm -it \
 +    --network=container:whoami \
 +    --ipc=container:whoami \
 +    --pid=container:whoami \
 +    -v $container_root:/container_root \
 +    --cap-add=SYS_PTRACE debian bash
 +
 +Ungefähr dasselbe, mit nsenter:
 (( geht nicht mit podman )) (( geht nicht mit podman ))
   nsenter --target $(docker inspect --format '{{.State.Pid}}' whoami) --net --pid --ipc --mount   nsenter --target $(docker inspect --format '{{.State.Pid}}' whoami) --net --pid --ipc --mount
 +
admin_grundlagen/docker/container_untersuchen.1791215053.txt.gz · Zuletzt geändert: 2026/10/05 15:44 von ingo_wichmann