Docker Desktop avec WSL2
La mise à jour de Windows 10 en version 2004 est en cours de déploiement. Si vous êtes développeur, elle devrait vous intéresser car elle permet d’utiliser WSL 2. Cette nouvelle version offre de nouvelles perspectives, notamment pour Docker avec Docker Desktop.
Sommaire
WSL 2
WSL est le sous-système Windows pour Linux. Cette fonctionnalité permet de faire tourner une distribution Linux sous Windows sans passer par une VM.
Outre les habituelles améliorations de performance, cette nouvelle version intègre un noyau Linux pour Windows.
Installation
Le premier pré-requis est d’avoir Windows 10 en version 2004 minimum1.
Si vous n’aviez pas encore installé WSL, il est nécessaire de lancer le programme Activer ou désactiver des fonctionnalités Windows et d’activer les 2 suivantes :
- Sous-système Windows pour Linux
- Plateforme d’ordinateur virtuel2
Il est nécessaire de télécharger et d’installer la mise à jour du noyau Linux WSL 2 qui se trouve ici.
Configuration
Lancez un PowerShell et activer WSL 2 ainsi :
PS C:\Users\sebastien> wsl --set-default-version 2
Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2
Si vous utilisiez déjà WSL 1, il est nécessaire de migrer votre Linux sur WSL 2 avec cette commande3 :
PS C:\Users\sebastien> wsl --list --verbose
NAME STATE VERSION
- Ubuntu Stopped 1
PS C:\Users\sebastien> wsl --set-version Ubuntu 2
La conversion est en cours. Cette opération peut prendre quelques minutes...
Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2
La conversion est terminée.
PS C:\Users\sebastien> wsl --list --verbose
NAME STATE VERSION
- Ubuntu Stopped 2
WSL est maintenant installé et actif sur votre Windows.
Docker Desktop
Maintenant que nous avons WSL 2, nous allons vouloir bénéficier de la possibilité d’exécuter des containers Docker Linux sur Windows sans passer par une VM.
Installation
Pour cela, il est nécessaire d’installer Docker Desktop for Windows45
Une fois installé, Docker Desktop va vous déconnecter de votre session Windows puis se relancer lorsque vous vous reconnecterez.
Configuration
Ouvrez l’application Docker Desktop, allez dans Settings puis dans General.
Si l’option Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend) est grisée, ne paniquez pas.6.
Allez dans Resources > WSL INTEGRATION et sélectionnez les distributions Linux installées sur votre système qui doivent être accessibles pour Docker Desktop.
Ouvrez une session WSL sur votre distribution Linux et commencez à jouer avec Docker7 :
/mnt/c/Users/sebastien$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Conclusion
Il aura fallu plus d’un an entre l’annonce de WSL 2 et le déploiement de cette mise à jour sur Windows Home.
Même s’il est parfois plus sûr d’utiliser une VM pour être au plus proche de la configuration de production, il faut avouer que Docker Desktop améliore l’expérience du développeur pour un usage quotidien.
Et vous ? Avez-vous reçu cette mise à jour ? 🐋
- A noter qu’il semble que Microsoft a récemment retroporté WSL 2 sur les versions 1903 et 1909 de Windows 10. ↩
- Cette fonctionnalité peut être activée avec la commande PowerShell suivante :
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
↩ - Si vous rencontrez des erreurs lors de la migration de votre distribution Linux, je vous invite à consulter l’aide à la résolution de problème sur WSL2. ↩
- Je n’en avais pas encore parlé mais c’est le remplaçant sur Windows de Docker Toolbox. ↩
- En suivant la procédure Docker Desktop WSL 2 backend. ↩
- Sur ma machine, l’option était cochée et grisée. ↩
- N’hésitez à pas consulter les bonnes pratiques sur Docker Desktop avec WSL2 ↩
Laisser un commentaire