Docker Desktop for Windows uses SSL to manage all your images and container files and keeps them in a private virtual hard drive (VHDX) called ext4.vhdx.
It's usually in C:\Users\YOURNAME\AppData\Local\Docker\wsl\data
and you can often reclaim some of the space if you've cleaned up (pruned your images, etc) with Optimize-Vhd under an administrator PowerShell shell/prompt.
You'll need to stop Docker Desktop by right clicking on its tray icon and choosing Quit Docker Desktop. Once it's stopped, you'll want to stop all running WSL2 instances with wsl --shutdown
Mine was 47gigs as I use Docker A LOT so when I optimize it from admin PowerShell from the wsl\data folder
optimize-vhd -Path .\ext4.vhdx -Mode full
...it is now 2 gigs smaller. That's nice, but it's not a massive improvement. I can run docker images
and see that many are out of date or old. If I'm not using Kubernetes I can turn it off and delete those containers as well from the Docker settings UI.
I'll run docker system prune -a
to AGRESSIVELY tidy up. Read about these commands before your try yourself. -a means all unused images, not just dangling ones. Don't delete anything you love or care about. If you're worried, docker system
is safer without the -a.
Now my Docker WSL 2 VHD is 15 gigs smaller! Learn more about WSL, Windows 11, and WSLg on my latest YouTube!
NOTE: You can now get WSL from the Windows Store! Go get it here and then run "wsl --install" and your command line.
If you want, you can also go find your Ubuntu and other WSL disks and Compact them as well. I only think about this once or twice a year, so don't consider this a major cleanup thing unless you're really tight on space.
Ubuntu WSL disks will be in folders with names like
C:\Users\scott\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState
or
C:\Users\scott\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
But you will want to look around for yours. Again, back things up and make sure WSL is shutdown first!
Enjoy! REMEMBER - Be sure to back things up before you run commands as admin from some random person's blog. Have a plan.
Sponsor: YugabyteDB is a distributed SQL database designed for resilience and scale. It is 100% open source, PostgreSQL-compatible, enterprise-grade, and runs across all clouds. Sign up and get a free t-shirt!
© 2021 Scott Hanselman. All rights reserved.