Comment déplacer Docker avec WSL ?

Tech 29 juil. 2020

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.

  1. Stopper WSL
    wsl --shutdown

  2. Créer une archive de docker-data
    wsl -exporter docker-desktop-data D:\.docker\docker-desktop-data.tar

  3. Retirer docker-desktop-data de WSL
    wsl --unregister docker-desktop-data

  4. 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 !

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.