5.1 Comando docker images
Se hai già immagini Docker memorizzate sul tuo sistema, ci sono comandi speciali per gestirle. Prima di tutto parliamo di docker images
e docker rmi
. In questa lezione vedremo in dettaglio come utilizzare questi comandi per una gestione efficace delle immagini Docker.
Il comando docker images
visualizza un elenco delle immagini salvate localmente sul sistema. Mostra dati come il nome del repository, il tag, l'ID dell'immagine, la data di creazione e la dimensione. Queste informazioni permettono di valutare rapidamente quali immagini sono disponibili e quanto spazio occupano.
Sintassi:
docker images [OPTIONS] [REPOSITORY[:TAG]]
Dove:
-
OPTIONS
: parametri aggiuntivi per filtrare e formattare l'output. -
[REPOSITORY[:TAG]]
: (opzionale) filtro per nome del repository e/o tag.
Esempio di uso base
Questo esempio mostra l'elenco di tutte le immagini salvate localmente.
docker images
Esempio di output del comando docker images
:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c 2 giorni fa 133MB
ubuntu 20.04 ba6acccedd29 3 settimane fa 72.9MB
myapp 1.0 d1e5e2ff5ff2 1 mese fa 89.5MB
Descrizione delle colonne:
- REPOSITORY: nome del repository a cui appartiene l'immagine.
- TAG: tag che indica la versione dell'immagine.
- IMAGE ID: identificatore unico dell'immagine.
- CREATED: tempo trascorso dalla creazione dell'immagine.
- SIZE: dimensione dell'immagine in memoria.
5.2 Filtraggio delle immagini
Il filtraggio delle immagini ti permette di restringere i risultati del comando docker images
, così da vedere solo le immagini che soddisfano i tuoi criteri. È utile se hai molte immagini salvate nel sistema e hai bisogno di trovare rapidamente un'immagine specifica in base al repository, al tag o ad altri parametri.
1. Filtro per repository
docker images nginx
Questo esempio mostrerà solo le immagini del repository nginx
.
2. Filtro per tag
docker images ubuntu:20.04
Questo esempio mostrerà l'immagine ubuntu
con il tag 20.04
.
3. Uso del parametro -a (all)
Di default, il comando docker images
mostra solo le ultime versioni delle immagini. Per visualizzare tutte le immagini, inclusi i layer intermedi, utilizza l'opzione -a
.
docker images -a
4. Formattazione dell'output
Per rendere l'output più leggibile o per integrarlo con altri strumenti, puoi personalizzare il formato dell'output utilizzando l'opzione --format
. Questo è particolarmente utile negli script e per automatizzare le attività.
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 Comando docker rmi
Il comando docker rmi
viene utilizzato per rimuovere una o più immagini Docker. È utile per liberare spazio su disco e mantenere il sistema in ordine, specialmente se le immagini non sono più utilizzate.
Sintassi:
docker rmi [OPTIONS] IMAGE [IMAGE...]
Dove:
- OPTIONS: parametri aggiuntivi per gestire il processo di rimozione.
- IMAGE: nome, tag o identificativo dell'immagine da rimuovere.
Esempio di utilizzo base
Questo esempio rimuove l'immagine con il nome nginx
.
docker rmi nginx
Rimozione tramite ID immagine
Questo esempio rimuove l'immagine con l'ID 5a7e5b1a3b8c
.
docker rmi 5a7e5b1a3b8c
Rimozione forzata
Se l'immagine è utilizzata da un container o è bloccata, potrebbe non essere possibile rimuoverla normalmente. Per una rimozione forzata, usa l'opzione -f (force)
.
docker rmi -f myapp:1.0
Rimozione di più immagini
Per rimuovere più immagini contemporaneamente, specificale separandole con uno spazio.
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 Esempi pratici
Esempio 1: Visualizzare tutte le immagini
Per ottenere un elenco completo di tutte le immagini memorizzate sulla macchina locale, esegui il comando:
docker images
Questo comando mostrerà una tabella con i nomi dei repository, i tag, gli ID delle immagini, le date di creazione e le dimensioni.
Esempio 2: Visualizzare le immagini con formattazione personalizzata
Per ottenere un elenco di immagini con una formattazione personalizzata, ad esempio per mostrare solo il nome del repository e il tag:
docker images --format "{{.Repository}}:{{.Tag}}"
Questo esempio mostra come utilizzare l'opzione --format
per personalizzare l'output, utile quando si scrivono script.
Esempio 3: Eliminare tutte le immagini non utilizzate
Se vuoi eliminare tutte le immagini non utilizzate dai container, ottieni prima l'elenco, poi esegui la rimozione:
docker images -q
docker rmi $(docker images -q)
Il comando docker images -q
mostra solo gli ID di tutte le immagini salvate localmente, che vengono poi passati a docker rmi
per l'eliminazione.
Esempio 4: Eliminare le dangling images
Le Dangling images
sono immagini senza tag che rimangono dopo aggiornamenti o build non riuscite. Per eliminarle, usa il comando:
docker rmi $(docker images -f "dangling=true" -q)
Qui -f "dangling=true"
filtra le immagini senza tag, e -q
mostra solo i loro ID, che vengono passati al comando di eliminazione.
GO TO FULL VERSION