InícioBlog › Docker ocupando dezenas de GB no Mac: como limpar
Desenvolvedores

Docker ocupando dezenas de GB no Mac: como limpar

O Docker Desktop pode ocupar 40, 60, até 100 GB no Mac sem você perceber. Entenda o Docker.raw, o que docker system prune remove e como recuperar o espaço.

Resposta rápida: o Docker guarda tudo (imagens, containers, volumes) num único arquivo Docker.raw que só cresce. Para limpar: docker system prune -a remove imagens e containers não usados; docker system df mostra o que está ocupando. Para o arquivo encolher de verdade, o Docker Desktop precisa recuperar o espaço — versões recentes fazem isso automaticamente.

Se você desenvolve com Docker no Mac, há uma boa chance de ele ser o maior consumidor de disco da sua máquina — na frente de fotos, vídeos e de qualquer outra coisa. E o pior: esse espaço aparece como "Dados do Sistema" no macOS, sem nenhuma pista de que o Docker é o culpado.

Por que o Docker ocupa tanto espaço no Mac?

No Mac, o Docker não roda nativo — ele roda dentro de uma máquina virtual Linux, e todo o armazenamento dessa VM vive num único arquivo:

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

Dentro dele ficam todas as imagens, containers, volumes e caches de build. Cada docker pull, cada build, cada container esquecido soma. Imagens de aplicações modernas têm de 500 MB a 2 GB cada — e quem trabalha com Docker acumula dezenas.

O macOS mostra isso tudo como um único arquivo gigante em "Dados do Sistema" — por isso a categoria explode em Macs de desenvolvedores.

Primeiro: veja o que está ocupando

docker system df

A saída mostra quatro linhas — imagens, containers, volumes locais e cache de build — com o total e quanto é "recuperável" (reclaimable). É comum ver 70–90% recuperável: imagens antigas de projetos encerrados, containers parados há meses, camadas de build obsoletas.

Como limpar: os comandos

O tudo-em-um

docker system prune -a

Remove containers parados, redes não usadas, todas as imagens sem container associado e o cache de build. É o comando que mais espaço libera — e o que exige mais atenção: a próxima execução dos seus projetos vai precisar baixar/rebuildar as imagens.

Sem o -a, o prune é mais conservador: só remove imagens órfãs (dangling), mantendo as demais.

Cirúrgico, por categoria

docker container prune   # só containers parados
docker image prune -a    # só imagens não usadas
docker builder prune     # só cache de build
docker volume prune      # só volumes órfãos — CUIDADO: volumes têm dados

Atenção com volume prune: volumes guardam dados persistentes (bancos de dados locais, por exemplo). Só rode se souber que não precisa deles.

Por que o espaço não volta depois do prune?

Pegadinha clássica: você roda o prune, o Docker diz que liberou 30 GB… e o Finder mostra o mesmo espaço ocupado. Isso acontece porque o Docker.raw é um arquivo esparso — o espaço foi liberado dentro da VM, mas o arquivo no macOS não encolhe na hora.

O Docker Desktop moderno recupera esse espaço automaticamente em segundo plano. Se não acontecer:

  1. Docker Desktop → Settings → Resources: reduza o "Virtual disk limit" para um valor realista
  2. Em último caso, Troubleshoot → Clean / Purge data apaga a VM inteira (todas as imagens e volumes!) e recomeça do zero — o Docker.raw volta a poucos GB

Prevenção: para o Docker não voltar a engordar

O CatMac integra a limpeza do Docker no fluxo geral: junto com caches, logs e Homebrew, ele roda o docker system prune por você — com confirmação explícita antes (é uma operação destrutiva) e execução segura, sem shell intermediário. Uma varredura, todas as categorias de lixo de desenvolvedor de uma vez.

Perguntas frequentes

O que o docker system prune remove exatamente?

Containers parados, redes não utilizadas, imagens dangling (sem tag) e cache de build. Com -a, remove também qualquer imagem que não esteja em uso por um container existente. Volumes só são removidos com --volumes ou docker volume prune.

É seguro rodar docker system prune -a?

Não perde dados de volumes nem containers em execução. O "custo" é que imagens removidas precisarão ser baixadas ou rebuildadas no próximo uso — em projetos com imagens pesadas, isso significa minutos de rebuild. Rode quando não estiver no meio de um deploy.

Por que o Docker.raw continua grande depois do prune?

Porque é um arquivo esparso: o espaço é liberado dentro da VM primeiro e devolvido ao macOS depois, pelo processo em segundo plano do Docker Desktop. Se persistir, reduza o Virtual disk limit nas configurações ou use Troubleshoot → Purge data.

Quanto espaço o Docker deveria ocupar?

Depende dos projetos ativos — mas se docker system df mostra dezenas de GB "reclaimable", esse espaço é lixo acumulado. Um setup enxuto com 3–4 projetos ativos fica em 10–20 GB.

Libere espaço no seu Mac agora

O CatMac encontra caches, logs, sobras de apps e arquivos de desenvolvedor que ocupam GB do seu SSD — e limpa tudo com segurança, 100% offline. A primeira limpeza é grátis.

Baixar CatMac Grátis

macOS 14+ · Apple Silicon e Intel · Notarizado pela Apple · Sem cadastro