Catégories
Docker

Installation de Docker (Windows) sur une partition spécifique

Si vous êtes sur cette page, c’est que vous avez déjà essayé tous les subterfuges trouvés sur le net (utilisation de dockerd, ajout du paramètre « data-root » pour le lancement du daemon, …) mais que malgré tout, vous n’arrivez pas à installer Docker (et surtout ses images) sur une autre partition que C:. Nous allons donc voir comment faire pour y arriver !!

Les méthodes existantes

Pour ceux qui me connaissent, non, je n’ai pas eu de révélation et je ne suis pas passé sur Windows 😛 J’ai juste filer un coup de main à Damien, le nouveau dev en alternance chez SEO Hackers, pour installer Laravel via sail. Après quelques longues minutes à tester les différentes configurations possibles (comme celle-ci, ou encore celle là), il s’avère que soit la méthode ne fonctionne pas, soit les images sont toujours téléchargées sur C:

Les liens symboliques

Avant de continuer, veuillez noter que cette méthode fonctionne pour une nouvelle installation uniquement !! Si vous avez une installation existante sur laquelle vous n’avez encore rien fait, il vous faudra la désinstaller au préalable.

C’est alors que m’est venue cette idée de tester une installation en utilisant les liens symboliques. Petite recherche sur le net, et il est possible de faire ça sur Windows : bingo !!
Première étape, on identifie les dossiers sur C: dans lesquels Docker place ses différents fichiers. Voici les principaux dossiers identifiés :

  • C:\Program Files\Docker\Docker
  • C:\ProgramData\Docker
  • C:\ProgramData\DockerDesktop
  • C:\Users\Username\AppData\Local\Docker (Username étant votre nom d’utilisateur local)

On va donc commencer par créer les répertoires sur la partition sur laquelle nous souhaitons installer Docker. Pour l’exemple, nous choisirons D:\Docker

Nous allons donc créer les répertoires suivants :

  • D:\Docker\Program Files\Docker
  • D:\Docker\ProgramData\Docker
  • D:\Docker\ProgramData\DockerDesktop
  • D:\Docker\AppData\Local\Docker

Maintenant, nous allons créer les liens symboliques qui vont bien. Il vous faudra lancer une invite de commande en mode administrateur.

mklink /D "C:\Program Files\Docker" "D:\Docker\Program Files\Docker"
mklink /D "C:\ProgramData\Docker" "D:\Docker\ProgramData\Docker"
mklink /D "C:\ProgramData\DockerDesktop" "D:\Docker\ProgramData\DockerDesktop"
mklink /D "C:\Users\Username\AppData\Local\Docker" "D:\Docker\AppData\Local\Docker"

N.B. : Si vous avez des erreurs lors de l’exécution de ces commandes, assurez vous que les dossiers n’existent pas sur la partition source (C: dans notre cas).

Et une fois tout cela fait, il ne vous restera plus qu’à installer Docker 😉

Avantages de cette méthode :

  • Assez simple à mettre en place
  • Ne dépend pas de commandes docker spécifiques
  • Peut être facilement déplacé sur une autre partition (il suffira de changer la destination des liens symboliques)
  • Évolutive si l’arborescence venait à changer (création des liens symboliques qui vont bien)

Inconvénients :

  • Si jamais l’arbo change, les fichiers seront à nouveaux sur la partition d’origine (C:\)
  • Si vous souhaitez déplacer une installation existante, il vous faudra ruser pour déplacer le volume qui se trouve dans le dossier C:\Users\Username\AppData\Local\Docker\wsl\data
  • Je vais sûrement me faire pourrir par les puristes de docker, mais je l’avoue, je ne suis ni un expert Docker, ni un expert Windows. Cette méthode à le mérite de fonctionner.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *