Docker
docker inspecteert het verkrijgen van verschillende velden voor sleutel: waarde en elementen van lijst
Zoeken…
verschillende docker inspecteren voorbeelden
Ik vind dat de voorbeelden in de docker inspect
magisch lijken, maar weinig uitleggen.
Docker inspect is belangrijk omdat het de schone manier is om informatie te extraheren uit een lopende container docker inspect -f ... container_id
(of alle lopende containers)
docker inspect -f ... $(docker ps -q)
wat onbetrouwbaar vermijden
docker command | grep or awk | tr or cut
Wanneer u een docker inspect
start, kunt u de waarden van het "hoogste niveau" gemakkelijk ophalen, met een basissyntaxis zoals voor een container met htop (van https://hub.docker.com/r/jess/htop/) met een pid ae1
docker inspect -f '{{.Created}}' ae1
laten zien
2016-07-14T17:44:14.159094456Z
of
docker inspect -f '{{.Path}}' ae1
laten zien
htop
Nu als ik een deel van mijn docker inspect
ik snap het
"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"
Dus ik krijg een woordenboek, omdat het { ...}
en veel key: waarden heeft
Dus het bevel
docker inspect -f '{{.State}}' ae1
geeft een lijst terug, zoals
{running true false false false false 4525 0 2016-07-14T17:44:14.406286293Z 0001-01-01T00:00:00Z}
Ik kan gemakkelijk de waarde van State.Pid krijgen
docker inspect -f '{{ .State.Pid }}' ae1
ik krijg
4525
Soms geeft Docker Inspect een lijst als het begint met [
en eindigt met ]
een ander voorbeeld, met een andere container
docker inspect -f '{{ .Config.Env }}' 7a7
geeft
[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]
Om het eerste element van de lijst te krijgen, voegen we index toe voor het vereiste veld en 0 (als eerste element) erna, dus
docker inspect -f '{{ index ( .Config.Env) 0 }}' 7a7
geeft
DISPLAY=:0
We krijgen het volgende element met 1 in plaats van 0 met dezelfde syntaxis
docker inspect -f '{{ index ( .Config.Env) 1 }}' 7a7
geeft
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
We kunnen het aantal elementen van deze lijst krijgen
docker inspect -f '{{ len .Config.Env }}' 7a7
geeft
9
en we kunnen het laatste element van de lijst krijgen, de syntaxis is niet eenvoudig
docker inspect -f “{{ index .Config.Cmd $[$(docker inspect –format '{{ len .Config.Cmd }}' $CID)-1]}}” 7a7