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

Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:container_untersuchen [2026/09/20 15:39] – angelegt ingo_wichmannadmin_grundlagen:docker:container_untersuchen [2026/10/12 14:23] (aktuell) – [weiteres Terminal im Container starten] ingo_wichmann
Zeile 1: Zeile 1:
 +====== Container untersuchen ======
 +
 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
  
-Dateisystem des Containers untersuchen: +===== weiteres Terminal im Container starten ===== 
-  docker inspect --format '{{.GraphDriver.Data.MergedDir}}'+geht nur, wenn der Container auch eine Shell enthält 
 +  docker container exec -it whoami bash
  
-Neuen Container starten, der die selben Netzwerk- , IPC- und PID-Namespaces teilt: +===== Dateisystem des Containers untersuchen =====
-  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+
  
 +Docker bietet verschiedene Storage-Backends, der Default hat auch mal gewechselt. Storage-Backend anzeigen:
 +  docker info -f '{{ .DriverStatus }}'
 +Eine Auswahl möglicher Ergebnisse:
 +  * ''<nowiki>[[driver-type io.containerd.snapshotter.v1]]</nowiki>'' ++ Dateisystem finden | 
 +(( mit jq:/
 +  id=$(docker inspect whoami | jq -r '.[].Id')
 +))
 +  id=$(docker inspect --format='{{.Id}}' whoami)
 +  sudo jq -r '.root.path' /run/containerd/io.containerd.runtime.v2.task/moby/$id/config.json
 +-> gibt das Verzeichnis aus
 +++
 +  * ''<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
 +-> gibt das Verzeichnis aus
 +++
 +
 +===== 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 ))
   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.1789918740.txt.gz · Zuletzt geändert: 2026/09/20 15:39 von ingo_wichmann