Cómo achicar el disco de Docker Desktop cuando se usa GeneXus Next (WSL2 en Windows)
Contexto: GeneXus Next usa Docker Desktop sobre WSL2. Con el tiempo, el archivo de disco virtual de Docker (“ext4.vhdx” o “docker_data.vhdx”) crece y no se achica solo aunque borres imágenes.
Al cambiar de versión (en la fase beta se hace muy a menudo) se crean imágenes y contenedores que luego se dejan de usar, pero a veces no libera el espacio.
En mi caso, pude recuperar 28 Gb con la limpieza.
¿Por qué pasa?
Docker Desktop guarda sus datos en una distro WSL2 (docker-desktop-data
) dentro de un disco virtual dinámico .vhdx
que crece cuando necesitás más espacio, pero no reduce tamaño automáticamente al liberar datos.
Rutas típicas del VHDX
%LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx
(clásico)%LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx
(nombres nuevos)
Tip: En Docker Desktop podés ver o cambiar Settings → Resources → Advanced → Disk image location y el tamaño máximo.
Paso a paso
.vhdx
antes de compactar.
-
Liberá espacio dentro de Docker
docker system df docker system prune -a --volumes
Esto borra imágenes huérfanas, contenedores detenidos, redes y volúmenes no usados.
-
Cerrá Docker Desktop (tray icon → Quit Docker Desktop).
-
Apagá WSL (PowerShell como Administrador):
wsl --shutdown
-
Compactá el VHDX (elegí una):
Opción A – Optimize-VHD (Windows Pro/Enterprise con herramientas Hyper-V):
PowerShell (Administrador) $Vhdx = "$env:LOCALAPPDATA\Docker\wsl\data\ext4.vhdx" # Ajustá si usás \disk\docker_data.vhdx Optimize-VHD -Path $Vhdx -Mode Full
Opción B – DiskPart (sirve en cualquier edición de Windows):
PowerShell (Administrador) $Vhdx = "$env:LOCALAPPDATA\Docker\wsl\data\ext4.vhdx" $dp = @" select vdisk file="$Vhdx" attach vdisk readonly compact vdisk detach vdisk exit "@ $tmp = New-TemporaryFile Set-Content -LiteralPath $tmp -Value $dp -Encoding ASCII diskpart /s $tmp Remove-Item $tmp -Force
-
Reiniciá Docker Desktop y verificá:
docker ps
-
Comprobá el ahorro mirando el tamaño del archivo antes/después (Propiedades del archivo).
Comentarios
Publicar un comentario
1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.