DEV Community

Kim CH
Kim CH

Posted on

Move docker-desktop-data distro out of System Drive

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
Enter fullscreen mode Exit fullscreen mode

2- Export docker-desktop-data to tar file

wsl --export docker-desktop-data E:\docker-desktop\docker-desktop-data.tar
Enter fullscreen mode Exit fullscreen mode

3- Unregister current docker-desktop-data distro

wsl --unregister docker-desktop-data
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

Top comments (16)

Collapse
 
brianhvb profile image
Brian Houle • Edited

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?

Collapse
 
cesarchamal profile image
Cesar Chavez

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

Collapse
 
jotcomponents profile image
Jotcomponents

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.

Collapse
 
alexvovk profile image
Alex

Very helpful! Thank you!

Collapse
 
khashashin profile image
Yusuf Khasbulatov • Edited

After I moved the docker-desktop-data (ext4.vhdx) All my folders under /mnt folder was empty.

Collapse
 
bernardbr profile image
Bernardo Esbérard

Thanks man! You've helped me a lot... :D

Collapse
 
lorenzo_sandini profile image
Lorenzo Sandini

I am joining the choir singing your praise ! Thanks a bunch :)

Collapse
 
mustafakurkcu profile image
Mustafa Kürkcü

Thank you

Collapse
 
arvindd profile image
Arvind Devarajan

Hey, thank you for this! Good hint :-)

Collapse
 
sd2020bs profile image
sd2020bs

thank you, man!

Collapse
 
willemodendaal profile image
Willem Odendaal

My C drive thanks you!