Comment déplacer Docker avec WSL ?
Vous avez installé Docker sous WSL2 et votre disque est saturé ?
Par défaut, Docker Desktop va installer ces 2 distros sous WSL:
- docker-desktop
- docker-desktop-data
Si l'on regarde de plus près sous %LOCALAPPDATA%/Docker/wsl, on peut voir 2 dossiers contenant un fichier vhdx.
- data/ext4.vhdx qui est consommé par le docker-desktop-data
- distro/ext4.vhdx qui est consommé par le docker-desktop
docker-desktop-data est utilisé pour stocker les images Docker, vos containers, etc. Par conséquent, sa taille va augmenter constamment en fonction de vos usages.
Votre disque sera alors saturé et votre système sera confronté à des problemes de performance.
Il nous faut donc déplacer docker-desktop-data sur un autre lecteur pouvant supporter un large espace.
Voici comment éviter cela en quelques étapes. Nous allons utiliser des commandes WSL pour déplacer Docker sous D:.docker pour l'exemple.
Par précaution, je vous invite à stopper Docker puis executer ces commandes dans votre terminal.
-
Stopper WSL
wsl --shutdown
-
Créer une archive de docker-data
wsl -exporter docker-desktop-data D:\.docker\docker-desktop-data.tar
-
Retirer docker-desktop-data de WSL
wsl --unregister docker-desktop-data
-
Importer docker-data dans son nouveau dossier
wsl --import docker-desktop-data D:\.docker\data D:\.docker\docker-desktop-data.tar --version 2
Note : L'export et l'import sont assez longs.
Il ne vous reste plus qu'à relancer wsl
et Docker Desktop !