Docker keeps everything in one virtual disk, docker_data.vhdx, which grows but never shrinks by itself.
These steps free space inside it, then compact the file. Images, containers and volumes are not touched.
With Docker Desktop running, paste one block at a time in a normal CMD (not as administrator):
docker commands run from an elevated prompt can leave an elevated com.docker.build.exe behind that
blocks the next Docker Desktop start. Only diskpart, in step 5, needs administrator rights.