2015-09-08 12 views
30

So che la finestra mobile ha sconsigliato il comando --tree dal comando docker images. Ma non sono riuscito a trovare alcun comando pratico per ottenere lo stesso output come docker images --tree. Ho trovato dockviz. Ma sembra essere un altro contenitore da gestire. C'è qualche costruito nel comando CLI per vedere vista ad albero delle immagini senza utilizzare dockvizCome visualizzare la vista ad albero delle immagini della finestra mobile?

risposta

46

L'attuale (settembre 2015, finestra mobile 1.8) soluzione fornita dal issue 5001 rimane dockviz anzi:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz images -t 

La -t permette di rimanere in solo CLI (senza grafica necessari)


Aggiornamento settembre 2016 (dopo finestra mobile 1.10: finestra mobile 1.11 appena 1.12), un anno dopo, come indicato nella same issue 5001, da Michael Härtl:

A partire da 1.10 il modo in cui gli ID dei livelli hanno funzionato è cambiato radicalmente. Per una lunga spiegazione di questo argomento, vedere #20399. C'è anche #20451 ma non sono sicuro, se questo potrebbe essere usato dall'immagine di Nate/Dockviz.

Personalmente trovo il modo in cui i nuovi livelli funzionano in modo molto confuso e molto meno trasparente di prima. E non è davvero ben documentato.
AFAIK @tonistiigi's comments in the issue above sono l'unica spiegazione pubblica disponibile.

Tõnis Tiigi:

v1.10 Pre non esisteva il concetto di strati o l'altro modo di pensare a questo proposito è che ogni immagine aveva un solo strato. Hai costruito una catena di immagini e hai spinto e tirato una catena. Tutte queste immagini nella catena avevano una propria configurazione.

Ora c'è un concetto di livello che è un file system indirizzabile dal contenuto diff. Ogni configurazione di immagine ha una matrice di riferimenti di livello che costituiscono il filesystem di root dell'immagine e nessuna immagine richiede l'esecuzione da parte del genitore. Spingi e tira sposta solo una singola immagine, le immagini genitore vengono generate solo per una build locale da utilizzare per la cache.

Se si crea un'immagine con il Dockerfile, ogni comando aggiunge un elemento di cronologia nella configurazione dell'immagine. Questo memorizza al comando in modo da poterlo vedere nella cronologia della finestra mobile. Poiché questo fa parte della configurazione dell'immagine, si sposta anche con push/pull ed è incluso nella verifica del checksum.

Ecco alcuni esempi di configurazioni indirizzabili contenuti:
https://gist.github.com/tonistiigi/6447977af6a5c38bbed8

Condizioni in v1.10: (i termini in realtà non sono cambiati in esecuzione ma in precedenza i nostri documenti, probabilmente semplificato le cose).

  • Il livello è un diff file system. Mazzo di file che quando impilati uno sopra l'altro costituiscono un filesystem di root. I livelli sono gestiti da graphdrivers, non sanno nulla delle immagini.
  • L'immagine è qualcosa che è possibile eseguire e che viene visualizzata nelle immagini della finestra mobile -a. Ha bisogno di avere un oggetto di configurazione.All'avvio del contenitore ha bisogno di un qualche modo per generare un filesystem di root da informazioni sull'immagine. Su build ogni comando Dockerfile crea una nuova immagine.

È possibile fare riferimento al progetto più recente TomasTomecek/sen, che:

https://github.com/TomasTomecek/sen/raw/master/data/image-tree.gif

+0

Molto utile, grazie per questo! – PierreF

Problemi correlati