docker / Guide

Liberare spazio Docker senza eliminare i volumi

Identifica prima cosa occupa spazio e dove si trovano i dati dell’applicazione. Un oggetto inutilizzato da Docker può ancora essere utile per te.

Esempi per Bash; consulta i riferimenti per i dettagli del tuo ambiente.

docker — Cheat sheet

Controlla prima di eliminare

docker system df -v
docker ps -a
docker volume ls

Confronta lo spazio di immagini, container, volumi e cache di build. Lo spazio recuperabile è una stima diagnostica, non un’anteprima delle eliminazioni. Esamina i container importanti con docker inspect <container> e verifica i mount prima della pulizia.

Scegli una pulizia mirata

ComandoCosa eliminaCosa controllare
docker image pruneImmagini danglingSe una vecchia build locale ti serve ancora.
docker container pruneTutti i container fermatiIl loro livello scrivibile e la configurazione.
docker builder pruneCache di build eliminabileIl costo di una successiva ricompilazione.

Esegui solo il comando adatto al tuo obiettivo e leggi la conferma. Eliminare container fermati fa perdere i dati conservati soltanto nel loro livello scrivibile. File in bind mount e volumi sono archivi separati.

Comprendi la pulizia generale

docker system prune

Questo comando elimina container fermati, reti inutilizzate, immagini dangling e cache di build inutilizzata. I volumi non sono inclusi per impostazione predefinita. Aggiungendo -a vengono considerate anche immagini non associate ad alcun container, comprese quelle con tag che potresti riutilizzare.

Conservare i volumi non garantisce la conservazione di tutti i dati applicativi: quelli presenti solo nel container eliminato si perdono. Esegui prima un backup dei dati importanti.

Verifica il risultato e i limiti

docker system df -v
docker ps -a
docker volume ls

Controlla che i volumi necessari siano presenti e che l’applicazione acceda ai suoi dati. Non aggiungere --volumes né eseguire docker volume prune in questo procedimento. Anche docker compose down -v è escluso dal piano di pulizia.

Docker system prune non ha un’opzione dry-run. Con Docker Desktop, ridurre lo spazio usato da Docker non significa necessariamente ridurre subito della stessa quantità il file del disco virtuale.

Riferimenti

Tutte le guide