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?
Top comments (16)
This seemed to move
%LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx
, but left%LOCALAPPDATA%\Docker\wsl\distro\ext4.vhdx
in place, which is currently in use by Docker Desktop.Is there a way to export/move this to a different drive as well?
You can do the same thing but change for docker-desktop
wsl -l -v
wsl --shutdown docker-desktop
wsl --export docker-desktop E:\docker-desktop\docker-desktop.tar
wsl --unregister docker-desktop
wsl --import docker-desktop E:\docker-desktop\distro E:\docker-desktop\docker-desktop.tar --version 2
Thanks very much for the procedure. It is working on Win11 WSL2. But before 'Step3: Start Docker' it was necessary to restart Win (as it is also recommended in 'Resource#2 Moving Docker wsl files').
Remark: Resource#1 link is no more valid.
Very helpful! Thank you!
After I moved the docker-desktop-data (ext4.vhdx) All my folders under /mnt folder was empty.
Thanks man! You've helped me a lot... :D
I am joining the choir singing your praise ! Thanks a bunch :)
Thank you
Hey, thank you for this! Good hint :-)
thank you, man!
My C drive thanks you!