I have used these commands to shrink desktop image from 35GB to 1GB
(in windows 10, docker version 19.03.13)
Remove unused images and other resources
docker system prune -a
Remove more resources
docker volume rm $(docker volume ls -q -f dangling=true)
Stop docker desktop, optimize image
Make sure HyperV turned on
%windir%\System32\mmc.exe "%windir%\System32\virtmgmt.msc"
or type Hyper-V in win search
Optimize disk in GUI > Go to VM, and check disk
Optimize-VHD -Path "C:\ProgramData\DockerDesktop\vm-data\DockerDesktop.vhdx" -Mode Full
Start docker desktop
Now I have 34+GB free disk space
Cleanup using docker desktop app
You can purge data when you click on bug icon in header and then click clean / purge data..
Clean / purge data option does not remove wsl integration.