Problem description
Up until Jan 20th, 2022. Docker desktop for windows won’t automatically release the disk space take by your images or volumes even if you delete them. Because docker in windows uses a virtual disk (VHDX) to store the filesystem. This means you can end up in a situation where your virtual disk is taking up 100GB, but docker only needs 15GB… which is exactly what happened to me today!
Solution
with this post we can know how to shrink VHDX that can help release disk space that is not actually required
https://stephenreescarter.net/how-to-shrink-a-wsl2-virtual-disk/
combined with this post we can know which VHDX docker is using so that this VHDX is our goal to shrink
Effect
before
after
It helped me get 39G more free space
important command record
in powershell:
wsl.exe --list --verbose
wsl.exe --terminate YOUR_VM_NAME# W
diskpart
in diskpart command line :
select vdisk file=“C:\Users\xzq\AppData\Local\Docker\wsl\data\ext4.vhdx” (docker vhdx)
select vdisk file=“C:\Users\xzq\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx” (WSL vhdx)
compact vdisk