Docker
Docker inspizieren verschiedene Felder für Schlüssel: Wert und Elemente der Liste
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