Szukaj…


różne przykłady dokerów sprawdzają

Uważam, że przykłady w docker inspect dokumentację wydają się magiczne, ale niewiele wyjaśniają.

Kontrola dokowania jest ważna, ponieważ jest to czysty sposób na wyodrębnienie informacji z działającego okna dokowanego kontenera docker inspect -f ... container_id

(lub cały działający kontener)

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

unikanie niektórych zawodnych

docker command | grep or awk | tr or cut

Po uruchomieniu docker inspect można łatwo uzyskać wartości z „najwyższego poziomu”, używając podstawowej składni, np. Dla kontenera z uruchomionym htopem (od https://hub.docker.com/r/jess/htop/) z pid ae1

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

może pokazać

2016-07-14T17:44:14.159094456Z

lub

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

może pokazać

htop

Teraz, jeśli wyodrębnię część mojego docker inspect

Widzę

"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" Więc otrzymuję słownik, ponieważ ma { ...} i wiele kluczowych: wartości

Więc polecenie

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

zwróci listę, taką jak

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

Z łatwością mogę uzyskać wartość State.Pid

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

dostaję

4525

Czasami inspekcja dokera podaje listę, która zaczyna się od [ i kończy ]

inny przykład z innym pojemnikiem

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

daje

[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]

Aby uzyskać pierwszy element listy, dodajemy indeks przed wymaganym polem i 0 (jako pierwszy element) po nim, więc

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

daje

DISPLAY=:0

Otrzymujemy następny element z 1 zamiast 0 przy użyciu tej samej składni

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

daje

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

Możemy uzyskać liczbę elementów tej listy

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

daje

9

i możemy uzyskać ostatni element listy, składnia nie jest łatwa

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow