Il existe deux manières d'installer la plateforme de conteneurisation Docker sur Windows 10 et 11. Elle peut être installée en tant queBureau Docker pour Windowsapplication (utilise les fonctionnalités intégrées de Hyper-V + Windows Containers), ou en tant que solution complèteMoteur Dockerinstallé dans une distribution Linux exécutée dans le sous-système Windows pour Linux (WSL2). Ce guide vous guidera à travers l'installation et la configuration de base de Docker Engine dans un environnement WSL sans utiliser Docker Desktop.
Avantages de l'utilisation de Docker Engine dans WSL :
- L'édition Pro ou Entreprise de Windows 10/11 est requise pour Docker Desktop. Le moteur Docker de WSL peut même fonctionner sur les éditions Windows Home
- Docker Desktop pour Windows nécessite de la RAM et de l'espace disque supplémentaires pour exécuter des machines virtuelles Hyper-V et des conteneurs Windows supplémentaires
- Docker Desktop est gratuit pour les petites entreprises (jusqu'à 250 employés), les projets personnels et non commerciaux. Dans d’autres cas, vous devrez souscrire un abonnement payant.
Supposons que vous disposiez déjà d'un environnement WSL2 (Windows Subsystem for Linux) installé sur votre ordinateur Windows avec l'une des images Linux disponibles (Ubuntu:22.04dans cet exemple). Liste des distributions WSL disponibles :
wsl --list
Pour définir l'image WSL par défaut, exécutez la commande :
wsl --setdefault Ubuntu-24.04

Assurez-vous que vous utilisez WSL2 :
wsl --version


Sinon, exécutez :
wsl --set-default-version 2
Connectez-vous à votre image Linux dans l'environnement WSL :
wsl.exe
Mettez à jour les packages dans votre distribution Linux (Ubuntu dans ce cas) :
$ sudo apt-get update && sudo apt-get upgrade -y
Installez ensuite le Docker Engine sur Linux à l'aide du script officiel :$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Ignorez l'avertissement concernant l'installation de Docker dans un environnement WSL.
A lire aussi :Comment supprimer la corbeille du bureau sans activer Windows


Ajoutez votre utilisateur au groupe Docker. Cela vous permet d'exécuter les commandes Docker sans avoir à élever les privilèges avecsudoou en saisissant un mot de passe.
$ sudo usermod -aG docker $USER
Vérifiez que Docker Engine et Compose ont été installés avec succès :
$ docker --version
$ docker compose version


Configurez maintenant le démon Docker pour qu'il démarre automatiquement dans WSL. WSL prend actuellement entièrement en chargesystème(le système d'initialisation et le gestionnaire de services utilisés par de nombreuses distributions Linux populaires). Vérifiez qu'il est activé dans votre image WSL Linux :
$ cat /etc/wsl.conf
[boot] systemd=true


Vérifiez ensuite que systemd est utilisé comme système d'initialisation Linux :
$ stat /sbin/init
Dans ce cas, systemd est utilisé pour init (car le/sbin/initest un lien symbolique vers/lib/systemd/systemd).


Exécutez le service Docker Engine et activez le démarrage automatique :
$ sudo systemctl enable --now docker.service
$ systemctl status docker.service


Si, pour une raison quelconque, systemd n'est pas utilisé, vous pouvez l'ajouter au démarrage WSL :
$ nano /etc/wsl.conf
[boot] command = "/usr/sbin/service docker start"
Les ressources de l'ordinateur hôte suivantes sont disponibles par défaut pour WSL2 :
- 50% de RAM
- 25 % du fichier d'échange
- 100 % des ressources CPU
Si vous souhaitez restreindre l'utilisation des ressources hôte par le sous-système WSL2, créez un fichier texte%UserProfile%.wslconfigdans le profil de l'utilisateur actuel. Ce fichier peut être utilisé pour définir des restrictions globales pour toutes les distributions WSL. Par exemple, ajoutez ce qui suit :
[wsl2] memory=8GB processors=4 swap=2GB
Redémarrez l'image WSL à partir de l'invite de commande Windows :
wsl --shutdown
Exécutez un conteneur Docker de test dans WSL :
$ docker run hello-world
Docker Engine téléchargera et exécutera lehello-worldconteneur de démonstration du Docker Hub.
Pour obtenir les meilleures performances de WSL2, stockez tous vos fichiers de conteneur Docker dans WSL, plutôt que dans des répertoires redirigés depuis l'hôte Windows (tels que /mnt/c).
Les versions modernes de Linux (Ubuntu 22.04, Debian 10+) utilisentnftablesau lieu d'iptables pour gérer le pare-feu intégré. Noyau Linux 5.8 ou version ultérieure requis pour la prise en charge native de nftables dans WSL. Pour que le réseau fonctionne correctement avec les anciens noyaux, activez la compatibilité avec iptables :
$ sudo update-alternatives --config iptables


Presse1pour sélectionner le mode iptables-legacy.
Vous pouvez désormais exécuter des commandes Docker dans WSL à partir de l'invite de commande Windows.
Avant toute commande Docker, vous devez spécifierwsl. Par exemple, répertoriez les images Docker disponibles :
wsl docker images

Vous pouvez désormais développer et exécuter des conteneurs Docker sur votre machine Windows.









![[Correction] Case à cocher « Les utilisateurs doivent saisir un nom d'utilisateur et un mot de passe pour utiliser cet ordinateur » manquant dans Windows 10](https://media.askvg.com/articles/images8/Users_Must_Enter_User_Name_And_Password_To_Use_This_Computer_Checkbox_Missing_Windows_10.png)





