Sök…


olika dockare inspekterar exempel

Jag tycker att exemplen i docker inspect dokumentation verkar magiska, men förklarar inte så mycket.

Dockerinspektion är viktigt eftersom det är det rena sättet att extrahera information från en löpande containerdockare docker inspect -f ... container_id

(eller alla behållare som körs)

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

undvika vissa opålitliga

docker command | grep or awk | tr or cut

När du startar en docker inspect du docker inspect få värden från "toppnivå", med en grundläggande syntax som för en container som kör htop (från https://hub.docker.com/r/jess/htop/) med en pid ae1

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

kan visa

2016-07-14T17:44:14.159094456Z

eller

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

kan visa

htop

Nu om jag extraherar en del av min docker inspect

Jag förstår

"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" Så jag får en ordlista, eftersom det har { ...} och många nycklar: värden

Så kommandot

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

kommer att returnera en lista, t.ex.

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

Jag kan få värdet på State.Pid enkelt

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

jag får

4525

Ibland ger dockarinspektionen en lista när den börjar med [ och slutar med ]

ett annat exempel med en annan behållare

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

ger

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

För att få det första elementet i listan lägger vi till index före det obligatoriska fältet och 0 (som första elementet) efter, så

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

ger

DISPLAY=:0

Vi får nästa element med 1 istället för 0 med samma syntax

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

ger

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

Vi kan få antalet element i listan

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

ger

9

och vi kan få det sista elementet i listan, syntaxen är inte lätt

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow