Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:container_untersuchen

Dies ist eine alte Version des Dokuments!


Container untersuchen

Container starten, der untersucht werden soll:

docker container run --rm -d -P --name whoami containous/whoami

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 |

1)

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 ++

Container zur Untersuchung eines anderen Containers

Neuen Container starten, der die selben Netzwerk- , IPC- und PID-Namespaces teilt:2)

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

Mit nsenter: 3)

nsenter --target $(docker inspect --format '{{.State.Pid}}' whoami) --net --pid --ipc --mount
1)
mit jq:/
id=$(docker inspect whoami | jq -r '.[].Id')
2)
TODO:
docker debug whoami
3)
geht nicht mit podman
admin_grundlagen/docker/container_untersuchen.1791570402.txt.gz · Zuletzt geändert: (Externe Bearbeitung)