Come forse già saprai, un'immagine del contenitore Docker è un pacchetto software leggero, autonomo ed eseguibile che ha tutto il necessario per eseguire un'applicazione. Ecco perché le immagini del contenitore vengono spesso utilizzate dagli sviluppatori per creare e distribuire applicazioni. Se sei curioso di sapere cosa c'è in un'immagine Docker, questa breve guida potrebbe aiutarti. Oggi impareremo ad analizzare ed esplorare i contenuti delle immagini Docker strato per strato utilizzando uno strumento chiamato "Immergiti" . Analizzando un'immagine Docker, possiamo scoprire possibili file duplicati attraverso i livelli e rimuoverli per ridurre le dimensioni dell'immagine Docker. L'utilità Dive non è solo un analizzatore di immagini Docker, ma ci aiuta anche a crearne uno. Dive è uno strumento open source gratuito scritto in Go linguaggio di programmazione.
Installazione di Dive
Ottieni l'ultima versione dalla pagina dei rilasci e installalo come mostrato di seguito a seconda della distribuzione in uso.
Se sei su Debian o Ubuntu , esegui i seguenti comandi per scaricarlo e installarlo.
$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.deb
$ sudo apt install ./dive_0.0.8_linux_amd64.deb
Su RHEL/CentOS:
$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.rpm
$ sudo rpm -i dive_0.0.8_linux_amd64.rpm
È disponibile in AUR , quindi puoi installare utilizzando qualsiasi strumento di supporto AUR, ad esempio Sì , su Arch Linux e le sue varianti.
$ yay -S dive
Dive può anche essere installato utilizzando Linuxbrew gestore di pacchetti.
$ brew tap wagoodman/dive
$ brew install dive
Per altri metodi di installazione, fai riferimento alla pagina GitHub del progetto fornita alla fine di questa guida.
Analizza ed esplora i contenuti delle immagini Docker
Per analizzare un'immagine Docker, esegui semplicemente il comando dive con Docker "Image ID". Puoi ottenere gli ID delle tue immagini Docker usando il comando "sudo docker images".
$ sudo dive ea4c82dcd15a
Qui, ea4c82dcd15a è l'ID immagine Docker.
Il comando Dive analizzerà rapidamente l'immagine Docker data e ne visualizzerà il contenuto nel Terminale.
Esplora i contenuti delle immagini Docker
Come puoi vedere nello screenshot sopra, i livelli di una data immagine della finestra mobile e i suoi dettagli, lo spazio sprecato sono mostrati nel riquadro di sinistra. Nel riquadro di destra, il contenuto di ogni livello nell'immagine Docker data. Puoi passare dal riquadro sinistro a quello destro utilizzando Ctrl+BARRA SPAZIATRICE tasto e SU/GIÙ tasti freccia per navigare nell'albero delle directory.
L'elenco delle scorciatoie da tastiera per utilizzare "Immergiti".
- Ctrl+barra spaziatrice - Passa dal riquadro sinistro a quello destro,
- Barra spaziatrice - Espandi/Comprimi l'albero delle directory,
- Ctrl+A - Mostra/nascondi i file aggiunti,
- Ctrl+R - Mostra/nascondi i file rimossi,
- Ctrl+M - Mostra/nascondi i file modificati,
- Ctrl+U - Mostra/nascondi i file non modificati,
- Ctrl+L - Mostra le modifiche ai livelli,
- Ctrl+A - Mostra le modifiche ai livelli,
- Ctrl+/ - Filtra i file,
- Ctrl+C - Esci.
Nell'esempio sopra, ho usato l'autorizzazione "sudo", perché le mie immagini Docker sono archiviate in /var/lib/docker/ directory. Se li hai nella tua directory $HOME o ovunque non possiedi un utente "root", non devi usare "sudo".
Puoi anche creare un'immagine Docker ed eseguire un'analisi immediata con un comando:
$ dive build -t <some-tag>
Per maggiori dettagli, guarda nella pagina GitHub del progetto indicata di seguito.