Guide di Levo · Sviluppatori: tutto il resto
Docker occupa troppo spazio su disco su un Mac
Docker su un Mac conserva tutto in un unico grande file di disco virtuale, Docker.raw, che cresce ma non si riduce da solo. Esegui docker system df per vedere cosa lo occupa, poi docker system prune e docker builder prune per liberarlo.

| Cosa | Come vederlo | Si può eliminare? |
|---|---|---|
| Container fermi | docker ps -a | Sì, a meno che ti serva ciò che c'è dentro |
| Immagini non usate | docker images | Sì, vengono scaricate o ricostruite quando servono |
| Cache di build | docker builder du | Sì, la build successiva è più lenta |
| Volumi | docker volume ls | Attenzione. Qui vive un database |
| Il file del disco | ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw | Mai a mano |
Perché Docker.raw è così grande
I container girano in una piccola VM Linux, e il disco della VM è un singolo file sul tuo Mac. Docker Desktop imposta una dimensione massima, spesso 60 GB o più, e il file cresce verso quel limite man mano che scarichi immagini e fai build. Nel Finder può sembrare molto più grande di quanto sia, perché è un file sparso: ls -lh mostra il massimo, du -sh mostra quanto è davvero usato.
Il problema è che eliminare le immagini libera spazio dentro la VM, ma il file sul Mac non si riduce subito. Le versioni recenti di Docker Desktop restituiscono a macOS i blocchi liberati, ma su configurazioni più vecchie o dopo molti cambiamenti potrebbe servire ridimensionare il disco o reimpostarlo da Settings › Resources.
Come farlo da solo
Vedi cosa occupa lo spazio
docker system df
docker system df -v
Il primo comando dà i totali di immagini, container, volumi e cache di build, con una colonna RECLAIMABLE. Il secondo elenca ciascun elemento. La cache di build è la più silenziosa: dopo qualche settimana di build è spesso la riga più grande.
Liberalo
docker container prune
docker image prune -a
docker builder prune
docker system prune
docker container prunerimuove i container fermi.docker image prune -arimuove ogni immagine non usata da un container, comprese quelle con tag. Senza-arimuove solo le immagini orfane (dangling).docker builder prunerimuove la cache di build. Aggiungi--allper includere anche la cache usata dalle build con tag.docker system prunepulisce container, reti, immagini orfane e cache di build in un colpo solo. Non rimuove i volumi a meno che tu non aggiunga--volumes.
I volumi sono il posto dove vivono database, file caricati e tutto ciò che il tuo file compose monta su un volume con nome. docker system prune --volumes rimuove ogni volume che nessun container sta usando in questo momento, compreso quello di Postgres del progetto che aprirai la settimana prossima. Elencali con docker volume ls e rimuovili uno alla volta con docker volume rm <name> dopo aver controllato.
Restituisci lo spazio a macOS
Dopo il prune, ricontrolla la dimensione reale.
du -sh ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
Se è ancora enorme, apri Docker Desktop, vai in Settings › Resources e abbassa Virtual disk limit, oppure scegli Troubleshoot › Clean / Purge data per ripartire da zero. La seconda opzione elimina tutte le tue immagini, i container e i volumi. Non trascinare Docker.raw nel Cestino mentre Docker è in esecuzione: perdi tutto ciò che contiene e puoi corrompere la VM.
OrbStack, Colima e Podman
Gli stessi comandi funzionano, perché tutti parlano l'API di Docker. Cambia solo dove vive il disco.
- OrbStack riduce il proprio disco in automatico e usa lo spazio su richiesta. I suoi dati sono in
~/.orbstack. Controlla Settings nell'app e usadocker system dfcome sopra. - Colima tiene il suo disco in
~/.colima. La dimensione è fissata quando crei l'istanza concolima start --disk 100.colima deleterimuove l'intera VM. - Podman usa
podman system dfepodman system prune, con l'immagine della macchina in~/.local/share/containers/podman/machine.
Se non usi più Docker, leggi come disinstallare Docker su un Mac. Per uno sguardo più ampio al resto dei tuoi strumenti c'è la pulizia del disco per sviluppatori.
Come fa Levo
Levo elenca le immagini Docker e la cache di build come tipi a sé in Ready to free (pronto da liberare), con dimensioni e motivi. Li trova tramite il suo indice aggiornato del disco, quindi li vedi senza eseguire alcun comando e senza dover ricordare quale dei quattro comandi prune usare.
Il tuo agente valuta cosa è sicuro. Le immagini che nessuno usa e la cache di build sono candidati ordinari. I volumi possono contenere dati che non si recuperano, quindi guardali tu, e Levo non pulisce mai nulla che sia in uso. L'agente si limita a leggere, ed è Levo a eliminare dopo un ulteriore controllo.
Scegli un livello di pulizia, spunti ciò che va via e premi Clean up. Se disinstalli Docker Desktop con Levo, il passaggio di conferma elenca i suoi grandi residui così li vedi prima che spariscano. Vedi Levo per sviluppatori web. Due pulizie sono gratuite, poi c'è una licenza a vita.
Domande frequenti
È sicuro eseguire docker system prune?
Sì per container, reti, immagini orfane e cache di build, ma la build successiva sarà più lenta e alcune immagini verranno scaricate di nuovo. Lascia stare i volumi a meno che tu non aggiunga --volumes, che è il flag da usare con cautela.
Perché Docker.raw è ancora enorme dopo aver eliminato le immagini?
Il file è sparso e non sempre si riduce quando lo spazio dentro la VM viene liberato. Controlla la dimensione reale con du -sh. Se è ancora grande, abbassa il limite del disco virtuale nelle impostazioni Resources di Docker Desktop oppure elimina i suoi dati.
Posso eliminare Docker.raw?
Solo dal menu Troubleshoot di Docker Desktop con Docker in esecuzione, oppure dopo averlo chiuso e disinstallato. Eliminare il file a mano rimuove ogni immagine, container e volume al suo interno.
Di quanto spazio ha bisogno Docker su un Mac?
Dipende da cosa esegui. Calcola 20-60 GB se costruisci molte immagini. Il limite del disco virtuale in Docker Desktop fissa il tetto.
OrbStack usa meno disco di Docker Desktop?
Di solito sì, perché cresce e si riduce su richiesta e condivide i file con macOS. Conserva comunque immagini, cache di build e volumi, quindi anche lì valgono docker system df e prune.