Suche…


verschiedene Docker inspizieren Beispiele

Ich finde, dass die Beispiele in der docker inspect Dokumentation magisch wirken, aber nicht viel erklären.

Docker Inspect ist wichtig, da dies die saubere Methode zum Extrahieren von Informationen aus einem laufenden Container docker inspect -f ... container_id

(oder alle laufenden Container)

docker inspect -f ... $(docker ps -q)

etwas Unzuverlässiges vermeiden

docker command | grep or awk | tr or cut

Wenn Sie eine docker inspect starten, können Sie die Werte einfach von der "obersten Ebene" mit einer einfachen Syntax wie für einen Container abrufen, auf dem htop ausgeführt wird (von https://hub.docker.com/r/jess/htop/). mit einer pid ae1

docker inspect -f '{{.Created}}' ae1

kann zeigen

2016-07-14T17:44:14.159094456Z

oder

docker inspect -f '{{.Path}}' ae1

kann zeigen

htop

Wenn ich nun einen Teil meines docker inspect ich

Aha

"State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 4525, "ExitCode": 0, "Error": "", "StartedAt": "2016-07-14T17:44:14.406286293Z", "FinishedAt": "0001-01-01T00:00:00Z" So bekomme ich ein Wörterbuch, wie es hat { ...} und viele Schlüssel: Werte

Also der Befehl

docker inspect -f '{{.State}}' ae1

gibt eine Liste zurück, wie z

{running true false false false false 4525 0 2016-07-14T17:44:14.406286293Z 0001-01-01T00:00:00Z}

Ich kann den Wert von State.Pid leicht erhalten

docker inspect -f '{{ .State.Pid }}' ae1

Ich bekomme

4525

Manchmal gibt Docker Inspect eine Liste aus, die mit [ beginnt und mit ] endet.

ein anderes Beispiel mit einem anderen Container

docker inspect -f '{{ .Config.Env }}' 7a7

gibt

[DISPLAY=:0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG=fr_FR.UTF-8 LANGUAGE=fr_FR:en LC_ALL=fr_FR.UTF-8 DEBIAN_FRONTEND=noninteractive HOME=/home/gg WINEARCH=win32 WINEPREFIX=/home/gg/.wine_captvty]

Um das erste Element der Liste zu erhalten, fügen wir den Index vor dem erforderlichen Feld und 0 (als erstes Element) danach hinzu

docker inspect -f '{{ index ( .Config.Env) 0 }}' 7a7

gibt

DISPLAY=:0

Wir erhalten das nächste Element mit 1 anstelle von 0 mit derselben Syntax

docker inspect -f '{{ index ( .Config.Env) 1 }}' 7a7

gibt

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Wir können die Anzahl der Elemente dieser Liste ermitteln

docker inspect -f '{{ len .Config.Env }}' 7a7

gibt

9

und wir können das letzte Element der Liste erhalten, die Syntax ist nicht einfach

docker inspect -f “{{ index .Config.Cmd $[$(docker inspect –format '{{ len .Config.Cmd }}' $CID)-1]}}” 7a7



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow