By default, Docker Desktop for Window will create 2 distros below
- docker-desktop
- docker-desktop-data
If we access the path %LOCALAPPDATA%/Docker/wsl
; we can see 2 folders; and inside it is vhdx file. For detail,
- data/ext4.vhdx which is consumed by docker-desktop-data
- distro/ext4.vhdx which is consumed by docker-desktop
In which, docker-desktop-data is used to store images and so on. Therefore, its size will be increased in the future, consequently, our System Drive will be out of space. Below are step-by-step to move docker-desktop-data out of System Drive, for example, E:\docker-desktop\data
.
Step 1: Stop Docker
Step 2: Export, unregister then import distro
1- Shutdown all WSL distros
wsl --shutdown
2- Export docker-desktop-data to tar file
wsl --export docker-desktop-data E:\docker-desktop\docker-desktop-data.tar
3- Unregister current docker-desktop-data distro
wsl --unregister docker-desktop-data
4- Import docker-desktop-data distro from tar file
wsl --import docker-desktop-data E:\docker-desktop\data E:\docker-desktop\docker-desktop-data.tar --version 2
Notes:
- In this step, we may meet the error of cannot create a specific network. Just re-run the import command.
Step 3: Start Docker
Resources
- Introducing the Docker Desktop WSL 2 Backend: we can get more information about docker-desktop, docker-desktop-data and even the new architecture of Docker Desktop
- Moving Docker wsl files
- Where are Docker volumes located when running Windows and WSL?
Oldest comments (17)
Very helpful! Thank you!
Thanks man! You've helped me a lot... :D
After I moved the docker-desktop-data (ext4.vhdx) All my folders under /mnt folder was empty.
Thank you so much, it helped me so much.
Thanks a lot. This helped me a lot. I was so close to partitioning my pc to use more space in C :D and found this page..
My C drive thanks you!
thank you, man!
Hey, thank you for this! Good hint :-)
Thank you
Thanks a lot, that saved my C drive!