Docker + WSL2

Cette fois, avec un vrai noyau Linux !

Il y a presque un an, j’avais parlé de l’utilisation combinée de Visual Studio Code et Docker. À l’époque, WSL n’en était qu’à sa version 1 et le développement de la version 2 venait à peine d’être officialisé. Le temps a passé et les choses ont changé. WSL 2 est sur le point de sortir et avec lui va venir la possibilité d’utiliser un vrai noyau Linux et non plus une traduction à la volée d’appels systèmes.

Cela signifie que WSL 2 sera plus rapide et permettra aussi d'utiliser Docker, comme n’importe quelle distribution, sans hack ou script comme c’est le cas sur mon poste professionnel.

Utilisation par un développeur

Comme je fais partie du programme Windows Insiders, j’ai pu installer WSL 2 et je l’utilise pour tous mes développements. L’avantage par rapport à la situation précédente, c’est que Docker for Windows n’est plus nécessaire. Voici comment je procède.

  1. J’ouvre mon dossier contenant mon code source dans WSL 2.
  2. Je démarre le service Docker.
  3. Je lance mon conteneur ou mon ensemble de conteneurs (avec Docker Compose).
  4. (Facultatif) J’utilise l’extension Remote - Containers pour ouvrir un shell facilement dedans.
Visual Studio Code + WSL 2.png
J’ai bien GCC 9.2.0 parce que je suis dans mon conteneur. Localement, je n’ai encore que la version 7.x.x.

Bien entendu, on peut toujours travailler de concert avec Docker for Windows, qui intègre maintenant le support de WSL 2 (en bêta), ce qui permet de manipuler les mêmes conteneurs tant dans WSL que dans le monde Windows.

Reste que le produit a encore quelques bugs, ce qui est compréhensible. Par exemple, dans mon WSL 2, Docker refusait de démarrer.

docker  Cannot start service cpp: cgroups: cannot find cgroup mount destination

Pour l’instant, le fix consiste à rentrer les commandes suivantes.

sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

Reste que je suis très content de la sortie prochaine de WSL 2 qui va résoudre les désagréments que je rencontre avec WSL 1. :)


Pour aller plus loin.



2 commentaires

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte