Ricerca…


vari docker ispezionano esempi

Trovo che gli esempi nel docker inspect documentazione sembrano magici, ma non spiegano molto.

L'ispezione di Docker è importante perché è il modo pulito per estrarre informazioni da una docker inspect -f ... container_id container in esecuzione docker inspect -f ... container_id

(o tutto il contenitore funzionante)

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

evitando alcuni inaffidabili

docker command | grep or awk | tr or cut

Quando si avvia un docker inspect è possibile ottenere facilmente i valori dal "livello principale", con una sintassi di base come, per un contenitore che esegue htop (da https://hub.docker.com/r/jess/htop/) con un pid ae1

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

può mostrare

2016-07-14T17:44:14.159094456Z

o

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

può mostrare

htop

Ora se estraggo una parte del mio docker inspect

Vedo

"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" Quindi ottengo un dizionario, come ha { ...} e un sacco di chiavi: i valori

Quindi il comando

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

restituirà una lista, come

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

Posso ottenere facilmente il valore di State.Pid

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

ottengo

4525

A volte l'ispezione di una finestra mobile fornisce una lista cominciando da [ e finisce con ]

un altro esempio, con un altro contenitore

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

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

Per ottenere il primo elemento della lista, aggiungiamo indice prima del campo richiesto e 0 (come primo elemento) dopo, quindi

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

DISPLAY=:0

Otteniamo il prossimo elemento con 1 invece di 0 usando la stessa sintassi

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

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

Possiamo ottenere il numero di elementi di questa lista

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

9

e possiamo ottenere l'ultimo elemento della lista, la sintassi non è facile

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow