Deamonspace

Reconnu d'utilité publique depuis 1804

Docker, Windows et WSL

| 1 commentaire

Belle baleine n'est-ce pas ?

Alors je sais ce que certains vont dire. Docker, Windows, SÉRIEUX ?

Et bien oui.

Évidemment, l’idéal pour utiliser Docker c’est de travailler sous Linux, mais le choix de Windows peut parfois s’avérer nécessaire, parce que vous aurez d’autres projets qui nécessitent cet OS, parce que vous utilisez d’autres outils avec ce système, et qu’un dual boot c’est bien, mais à la longue c’est chiant… Bref, les raisons sont multiples.

Docker sous Windows

Installer Docker sous Windows est assez simple, pourvu que vous ayez le 10 dans sa version professionnelle (astuce si vous avez une version familiale, passer en version pro facilement !). Rendez-vous sur cette page pour récupérer l’installeur pour Windows.

Rappel : Il vous faudra activer l’Hyper-V et pour cela il vous devrez dire adieu à VirtualBox.

Jusque là, tout va bien. Vous pouvez d’ores et déjà jouer avec vos containers, gérer vos stacks avec docker-compose, bref le bonheur.

Pourquoi WSL ?

Oui, pourquoi ? Vous pouvez parfaitement utiliser Docker en ligne de commandes via CMD ou PowerShell sans trop de soucis.

C’était sans compter sur Micorosoft et sa Windows 10 Fall Creators Update de l’automne 2017 qui a apporté, parmi son lot de nouveautés, le sous-système Linux (Windows Subsystem for Linux, ou WSL pour les intimes), qui apporte un vrai noyau Linux donc, qui nous permettra de marier agréablement les 2 OS. Vous aurez alors votre Docker installé sur votre Windows, et le loisir de le manipuler depuis le WSL comme sous un Linux classique.

Installation et configuration

Oui parce que la parlote ça va bien 5 minutes.

Rendez-vous sur la documentation officielle, et suivez le guide.

En résumé :

1 – Activez la fonctionnalité WSL

  • Soit via le Panneau de configuration > Programmes et fonctionnalités :
  • Soit via PowerShell en mode Administrateur, avec la commande :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Et redémarrez.

2 – Installez un système Linux

Depuis le Windows Store, installez la dernière version d’Ubuntu. Lancez-là et renseignez un login / mot de passe (qui ne sont pas nécessairement vos identifiants de connexion Windows), ce seront vos accès root.

3 – Installez docker.io et docker-compose

sudo apt update && sudo apt install -y docker.io docker-compose

4 – Créez le lien avec Docker sur Windows

Assurez-vous déjà que votre installation Docker expose bien le daemon :

Ajouter ensuite la variable DOCKER_HOST avec l’adresse du socket du daemon pour s’y connecter, à la fin du ~/.bashrc :

export DOCKER_HOST=tcp://127.0.0.1:2375

Et bien sûr, refaites charger la config pour appliquer immédiatement les changements :

source ~/.bashrc

5 – Paramétrez le montage automatique des disques

Afin de permettre le montage automatique des disques à la racine du système Linux (/c, /d, …), créez le fichier /etc/wsl.conf et mettez-y ceci :

[automount]
root = / 
options = "metadata"

Redémarrez une dernière fois.

Testez

Une fois ces manipulations faites, votre Docker lancé, si vous testez depuis votre console WSL, vous devriez obtenir ceci :

$ docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
...

 

Voilà, à vous de jouer !