Le immagini Docker possono occupare con­si­de­re­vo­le spazio di ar­chi­via­zio­ne sul tuo host o all’interno del registro dei container. Quando elimini un’immagine Docker inu­ti­liz­za­ta oppure obsoleta, fai spazio a nuove immagini e dati. Questo risulta par­ti­co­lar­men­te utile negli ambienti in cui lo spazio di ar­chi­via­zio­ne di­spo­ni­bi­le è limitato.

Quando dovresti eliminare un’immagine Docker?

Le immagini Docker vengono create dai co­sid­det­ti file di Docker, che servono a definire i passaggi per la con­fi­gu­ra­zio­ne dell’in­fra­strut­tu­ra dei container. Queste immagini possono poi essere uti­liz­za­te per avviare container Docker, che eseguono l’ap­pli­ca­zio­ne o un servizio in un ambiente isolato e con­si­sten­te.

Un numero elevato di immagini può però influire sulle pre­sta­zio­ni dell’in­fra­strut­tu­ra Docker e occupare uno spazio di ar­chi­via­zio­ne eccessivo. Quando Docker cerca un’immagine, deve passare in rassegna tutte le immagini a sua di­spo­si­zio­ne per trovare quella giusta. Per questo motivo, eli­mi­nan­do le immagini Docker non più ne­ces­sa­rie, aumenti l’ef­fi­cien­za, riduci i tempi necessari per la ricerca e proteggi il tuo sistema da eventuali rischi di sicurezza.

Infine, ma non meno im­por­tan­te, quando i cicli di sviluppo e di test sono terminati e hai uti­liz­za­to le immagini per i ri­spet­ti­vi scopi tem­po­ra­nei, dovresti ri­muo­ver­le per liberare spazio di ar­chi­via­zio­ne.

Can­cel­la­re una o più immagini Docker

Se desideri eliminare una o più immagini Docker con­tem­po­ra­nea­men­te, puoi inoltrare un elenco di ID o nomi di immagini al comando docker rmi.

Primo passaggio: ottenere un elenco degli ID e dei tag delle immagini

Utilizza il seguente comando per vi­sua­liz­za­re un elenco di tutte le immagini Docker presenti sul tuo sistema:

docker images -a
bash

Il risultato contiene in­for­ma­zio­ni come il nome, l’ID, la data di creazione, la di­men­sio­ne e il creatore dell’immagine.

Secondo passaggio: can­cel­la­re le immagini

Se desideri rimuovere più immagini con­tem­po­ra­nea­men­te, puoi scrivere gli ID o i nomi delle immagini uno dopo l’altro, separati da uno spazio.

docker rmi Image Image
bash

Devi sapere che puoi eliminare un’immagine Docker soltanto se nessun container attivo dipende da essa. Questo significa che devi prima arrestare e rimuovere i container per poter procedere con l’eli­mi­na­zio­ne delle immagini associate.

Rimuovere le immagini Docker non uti­liz­za­te

La rimozione di immagini non uti­liz­za­te fa ri­fe­ri­men­to all’eli­mi­na­zio­ne di immagini Docker che non sono più associate a container attivi o ad altre immagini. Le immagini non uti­liz­za­te possono ac­cu­mu­lar­si nel tempo e occupare spazio sull’host in cui usi Docker. È buona prassi rimuovere tali immagini a in­ter­val­li regolari per mi­glio­ra­re la gestione delle risorse dell’ambiente Docker.

Primo passaggio: elencare le immagini non uti­liz­za­te

Per prima cosa devi ottenere l’elenco delle immagini non uti­liz­za­te per ve­ri­fi­ca­re quali rimuovere.

docker images -f dangling=true
bash

Secondo passaggio: rimuovere le immagini non associate

Il comando seguente elimina tutte le immagini non associate, liberando lo spazio di ar­chi­via­zio­ne cor­ri­spon­den­te.

docker images purge
bash

Rimuovere le immagini Docker secondo uno schema specifico

L’eli­mi­na­zio­ne di immagini Docker in base a uno specifico schema o prefisso ti consente di rimuovere un gruppo di immagini con una sola ope­ra­zio­ne, se cor­ri­spon­do­no a uno schema comune di nomi. Questo metodo è utile se hai un gran numero di immagini e desideri eli­mi­nar­ne solo una specifica categoria.

Primo passaggio: elencare le immagini Docker con grep

Puoi combinare il comando docker images con grep per ri­pro­dur­re solo le immagini che cor­ri­spon­do­no ai criteri da te definiti.

docker images -a | grep "pattern"
bash

Secondo passaggio: can­cel­la­re le immagini Docker cor­ri­spon­den­ti

Una volta stabilito lo schema, puoi filtrare tutte le immagini cor­ri­spon­den­ti con awk, così da estrarre gli ID cor­ri­spon­den­ti, e poi eli­mi­nar­le con il comando xargs docker rmi.

docker images -a | grep "pattern" | awk ‘{print $3}’ | xargs docker rmi
bash

Eliminare tutte le immagini Docker

La rimozione di tutte le immagini Docker dal sistema deve essere ben ponderata ed eseguita con estrema cautela, in quanto si tratta di un’ope­ra­zio­ne ir­re­ver­si­bi­le, che potrebbe rendere tutti i tuoi container non più avviabili.

Primo passaggio: elencare tutte le immagini

Prima di tutto, devi ottenere una pa­no­ra­mi­ca di tutte le immagini attive e inattive presenti nel tuo sistema:

docker images -a
bash

Secondo passaggio: eliminare tutte le immagini Docker

A questo punto puoi inoltrare la lista ottenuta con il passaggio pre­ce­den­te al comando docker rmi. Così facendo rimuovi tutte le immagini.

docker rmi $(Docker-Images -a -q)
bash

Trovi ulteriori istru­zio­ni su come eliminare un volume Docker o come eliminare un container Docker nei nostri articoli. Ti spie­ghia­mo anche che cos’è Docker e qual è la dif­fe­ren­za tra i container Docker e i volumi dei container Docker.

Vai al menu prin­ci­pa­le