id=$(docker inspect whoami | jq -r '.[].Id')
admin_grundlagen:docker:container_untersuchen
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Container untersuchen
Container starten, der untersucht werden soll:
docker container run --rm -d -P --name whoami containous/whoami
weiteres Terminal im Container starten
docker container exec -it whoami bash
→ geht nur, wenn der Container auch eine Shell enthält
Dateisystem des Containers untersuchen
Docker bietet verschiedene Storage-Backends, der Default hat auch mal gewechselt. Storage-Backend anzeigen:
docker info -f '{{ .DriverStatus }}'
Eine Auswahl möglicher Ergebnisse:
[[driver-type io.containerd.snapshotter.v1]]++ Dateisystem finden |
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 ++
[[Backing Filesystem extfs] [Supports d_type true] [Using metacopy false] [Native Overlay Diff true] [userxattr false]]++ 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:2)
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
Mit nsenter: 3)
nsenter --target $(docker inspect --format '{{.State.Pid}}' whoami) --net --pid --ipc --mount
admin_grundlagen/docker/container_untersuchen.1791707321.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
