10 Dicas Essenciais para Desenvolvedores Laravel
Laravel é um dos frameworks PHP mais populares devido à sua simplicidade, elegância e ferramentas poderosas que aceleram o desenvolvimento.... Leia mais
Desenvolvedor de Software
O ext4.vhdx é o disco virtual do WSL. Ele cresce conforme você usa, mas não encolhe sozinho quando você apaga coisas dentro do WSL. Por isso, mesmo que você rode docker system prune e libere 80GB, o arquivo .vhdx no Windows continua com o mesmo tamanho. O diskpart + compact vdisk é o que devolve esse espaço pro Windows.
Se você rodar o compact vdisk antes de limpar o Docker, ele não vai liberar quase nada, porque o espaço ainda está ocupado de verdade.
Olhando seus números: 57.92GB recuperáveis em imagens + 30.06GB em build cache. Tem quase 90GB pra recuperar aí.
bash# Remove build cache (os 30GB)
docker builder prune -a -f
# Remove imagens não usadas por nenhum container (os ~58GB)
docker image prune -a -f
# Remove containers parados
docker container prune -f
# Remove volumes órfãos (cuidado, veja abaixo)
docker volume prune -f
Atenção com volume prune: ele remove volumes que não estão anexados a nenhum container. Se você tem um volume com dados do banco do proseleta e o container está parado no momento, esse volume vai junto. Antes de rodar, confere:
docker volume ls
Se tiver algum volume importante (tipo proseleta_mysql_data ou similar), pula o volume prune e remove só os que você sabe que são lixo:
docker volume rm nome_do_volume
Atalho que faz tudo de uma vez (menos volumes):
docker system prune -a -f
Depois confere quanto sobrou:
docker system df
Agora sim, no PowerShell do Windows como Administrador (não no WSL):
wsl --shutdown
Espera uns 10 segundos pra garantir que o WSL desligou de verdade. Depois:
diskpart
Vai abrir o prompt do diskpart. Antes de mais nada, você precisa achar o caminho real do seu ext4.vhdx. Aquele {seuUsuario} e {caminho_unico_por_maquina} são placeholders.
Abra o Explorer do Windows e navegue até:
C:\Users\<SeuUsuárioWindows>\AppData\Local\Packages\
Procure uma pasta que começa com CanonicalGroupLimited.Ubuntu... (o nome completo varia, algo tipo CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc). Dentro dela, vá em LocalState\ e confirme que tem o arquivo ext4.vhdx. Copia o caminho completo.
Se você usa Docker Desktop com o backend WSL2, o disco que cresce mais é geralmente o do Docker, não o do Ubuntu. Ele fica em:
C:\Users\<SeuUsuário>\AppData\Local\Docker\wsl\disk\docker_data.vhdx
ou em versões mais novas:
C:\Users\<SeuUsuário>\AppData\Local\Docker\wsl\data\ext4.vhdx
Vale compactar os dois.
De volta ao diskpart, com o caminho em mãos:
select vdisk file="C:\Users\paulo\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
O attach vdisk readonly é importante — sem ele, o compact vdisk em versões mais recentes do Windows reclama. Algumas versões funcionam sem, mas com o readonly funciona sempre.
Pra compactar o disco do Docker, sai do diskpart, repete o wsl --shutdown (por garantia) e roda de novo com o outro caminho.
Optimize-VHDSe você tem Windows Pro/Enterprise com Hyper-V habilitado, dá pra fazer tudo em uma linha no PowerShell admin:
wsl --shutdown
Optimize-VHD -Path "C:\Users\paulo\AppData\Local\Docker\wsl\disk\docker_data.vhdx" -Mode Full
No Windows Home não funciona porque não tem o módulo Hyper-V.
Antes de começar, anota o tamanho atual do .vhdx (botão direito → propriedades). Depois de compactar, confere de novo. Você deveria ver uma redução considerável — provavelmente algo entre 60 e 80 GB no seu caso, dado o que o docker system df mostrou.
Se a compactação não reduzir muito, geralmente é porque (1) o Docker não foi limpo antes, ou (2) o WSL não foi totalmente desligado e o .vhdx ainda estava em uso. Roda wsl --list --running no PowerShell pra confirmar que nada está rodando antes do compact.
Laravel é um dos frameworks PHP mais populares devido à sua simplicidade, elegância e ferramentas poderosas que aceleram o desenvolvimento.... Leia mais
Quando lidamos com arquivos de texto, a codificação de caracteres é um aspecto fundamental para garantir que os textos sejam... Leia mais
Neste tutorial, vamos aprender como exportar uma lista de cadastros de clientes para uma planilha Excel, incluindo as fotos dos... Leia mais
A função WITH RECURSIVE no PostgreSQL é uma ferramenta poderosa para a execução de consultas recursivas em bancos de dados.... Leia mais