Come ripulire ed eliminare le immagini Docker

0
575

Le immagini Docker possono essere molto grandi e se lavori spesso con i container, potrebbe occupare molto spazio di archiviazione. Discuteremo come ripulire le immagini scaricate ed eliminare i vecchi file di cui non hai bisogno.

Immagini Docker vs. Docker Contenitori

Le immagini Docker gestiscono i propri dati in modo diverso rispetto ai contenitori. Le immagini sono file di sola lettura creati da Dockerfile e inviati all'hub Docker. Ogni volta che scarichi una nuova versione, Docker deve scaricare i file per quella nuova versione. Le vecchie versioni sono ancora memorizzate sul tuo disco locale.

I contenitori sono costituiti da immagini e di solito hanno il proprio filesystem e volumi collegati ad essi. Quando interrompi il contenitore, tutti i dati non archiviati su un volume verranno eliminati. Quindi, per ripulire i dati utilizzati dai container, devi semplicemente fermarli ed eliminare i loro volumi.

Per ripulire le immagini, Docker fornisce alcuni comandi per eseguire la garbage collection.

Immagini di potatura

Inevitabilmente ti ritroverai con immagini che non sono in uso, siano esse vecchie versioni di immagini o immagini provenienti da contenitori che non sono attivamente in esecuzione. In ogni caso, l'eliminazione di un'immagine di solito non presenta alcun problema—se ne hai bisogno di nuovo, Docker può semplicemente recuperarla dal repository remoto.

Annuncio

Per visualizzare tutte le immagini archiviate sul tuo sistema, puoi usare il seguente comando:

docker image ls

Nonostante sembri che tutte queste versioni occupino molto spazio in questo output, diverse versioni vengono archiviate in modo incrementale, quindi solo le modifiche della nuova versione vengono effettivamente archiviate su disco.

Puoi rimuovere un'immagine fornita manualmente è l'ID immagine:

docker image rm 3a8d8f76e7f8f

Tuttavia, un metodo molto più sicuro consiste nell'utilizzare il comando prune integrato, che cercherà tra tutte le immagini per trovare ed eliminare quelle senza riferimenti attivi :

docker image prune -a

L'omissione del tag -a conserverà le immagini contrassegnate ma non utilizzate. Con il flag, rimarranno solo le immagini che stai utilizzando attivamente.

Il comando prune ti dirà quanto spazio è stato liberato, ma se vuoi controllare manualmente la quantità di spazio di archiviazione utilizzata da Docker prima e in seguito, puoi utilizzare du -sh nella directory di archiviazione di Docker:

sudo du -sh /var/lib/docker/Advertisement

Questa directory si troverà in C:ProgramDataDockerDesktop su Windows e ~/Library/Containers/com.docker.docker/Data/vms/0/ su macOS.