SSD Nodes Learn Hosting plans →
Guides Matt ConnorPar Matt Connor

Installer Docker sous Windows 11 : Desktop ou WSL 2

Docker Desktop ou Docker Engine dans Ubuntu sous WSL 2 : les deux installations pas à pas sur Windows 11, le cas de l'édition Famille, la mémoire de WSL et les pannes courantes.

Installer Docker sous Windows : quelle voie choisir ?

Pour installer Docker sous Windows 11, vous avez deux voies sérieuses. La première est Docker Desktop, une application graphique qui fait tourner Docker dans WSL 2 (Windows Subsystem for Linux, le sous-système Linux de Windows). La seconde est Docker Engine, le moteur seul, installé dans une distribution Ubuntu sous WSL 2 et piloté en ligne de commande.

Docker Desktop est la voie la plus simple. Vous avez une interface pour voir vos conteneurs et vos images, et l'installeur s'occupe de l'intégration avec WSL 2. En contrepartie, l'application est soumise à une licence. Sa liste d'éditions de Windows prises en charge compte aussi pour un portable vendu en France, comme on le verra plus bas.

Docker Engine dans WSL 2 est plus léger. Il n'y a pas d'interface graphique, seulement la commande docker dans un terminal Ubuntu. C'est ce que vous aurez plus tard sur un serveur Linux. Cette voie est donc un bon terrain d'entraînement si vos conteneurs doivent partir ensuite sur un VPS.

Notre recommandation : prenez Docker Desktop si vous voulez une interface et que votre édition de Windows figure dans la liste de Docker. Prenez Docker Engine dans WSL 2 si vous êtes à l'aise avec le terminal, si votre PC est sous Windows 11 Famille, ou si vous préparez un déploiement sur un serveur. Les deux voies ont les mêmes prérequis : la virtualisation activée et WSL 2 installé.

Docker Desktop est-il gratuit ?

Docker répond sur sa propre page d'installation pour Windows. Docker Desktop est gratuit pour un usage personnel, pour l'enseignement, pour les projets open source non commerciaux et pour les petites entreprises. La page définit une petite entreprise ainsi : « fewer than 250 employees AND less than $10 million in annual revenue », soit moins de 250 salariés et moins de 10 millions de dollars de chiffre d'affaires annuel. Au-delà de l'un de ces deux seuils, un abonnement payant est obligatoire pour un usage professionnel. Les administrations doivent aussi payer.

Nous ne refaisons pas ici toute l'analyse de licence. Elle est détaillée dans notre comparatif de ce qui est gratuit entre Docker Engine, Docker Desktop et Docker Hub. Retenez une chose : Docker Engine, la voie 2 de ce guide, ne pose pas cette question de licence Desktop.

Étape 1 : activer la virtualisation dans le BIOS/UEFI

WSL 2 fait tourner Linux dans une machine virtuelle légère. La virtualisation matérielle du processeur doit donc être activée dans le BIOS/UEFI (le micrologiciel qui démarre le PC). Sur beaucoup de portables récents, elle l'est déjà.

Pour vérifier, ouvrez le Gestionnaire des tâches, onglet Performance, puis la vue du processeur : une ligne indique si la virtualisation est activée. Si elle ne l'est pas, redémarrez dans le BIOS/UEFI. Le nom de l'option change d'un fabricant à l'autre. Microsoft précise seulement qu'elle se trouve le plus souvent dans les options liées au processeur (CPU).

Pour Docker Desktop, Docker demande aussi un processeur 64 bits avec SLAT (Second Level Address Translation, une fonction de traduction d'adresses mémoire utilisée par la virtualisation) et 8 Go de mémoire vive.

Étape 2 : installer WSL 2 avec wsl --install

Ouvrez PowerShell en mode administrateur : clic droit sur PowerShell, puis « Exécuter en tant qu'administrateur ». Lancez une seule commande, puis redémarrez le PC.

wsl --install

Selon la documentation de Microsoft, cette commande active les fonctionnalités de Windows dont WSL a besoin et installe la distribution Ubuntu. Elle demande Windows 10 version 2004 ou plus récent (build 19041 et plus), ou Windows 11. Les nouvelles distributions installées par wsl --install utilisent WSL 2 par défaut.

Si wsl --install affiche seulement le texte d'aide, WSL est déjà installé. La documentation l'indique : la commande ne fonctionne que si WSL n'est pas installé du tout. Dans ce cas, listez les distributions disponibles et installez-en une par son nom.

wsl.exe --list --online
wsl.exe --install -d Ubuntu-24.04

Après le redémarrage, vérifiez deux choses : la version de WSL, puis la version utilisée par chaque distribution.

wsl --version
wsl -l -v

wsl --version doit afficher un numéro de version. Docker Desktop exige WSL 2.1.5 ou plus récent. Si la commande n'affiche aucun détail de version, Docker indique que vous utilisez probablement la version « inbox » de WSL, celle livrée avec Windows. Mettez-la à jour avec wsl --update. Dans la sortie de wsl -l -v, la colonne VERSION doit indiquer 2 pour votre distribution.

Windows 11 Famille : Docker Desktop est-il pris en charge ?

C'est la question à poser avant tout, parce que les PC grand public vendus en France sont livrés avec Windows 11 Famille, la version française de Windows 11 Home.

Pour le moteur WSL 2, la page d'installation de Docker (consultée le 9 octobre 2026) liste ces éditions : « Windows 11 64-bit: Enterprise, Pro, or Education version 23H2 (build 22631) or higher ». Pour Windows 10, elle demande Enterprise, Pro ou Education en version 22H2 (build 19045). L'édition Famille, ou Home, n'apparaît pas dans cette liste.

La seule mention de Home sur cette page est une remarque placée sous les prérequis : « Windows Home or Education editions only allow you to run Linux containers. » La page indique donc que Home se limite aux conteneurs Linux. Elle ne dit pas clairement si Home est pris en charge par le moteur WSL 2, et nous ne tranchons pas à sa place. Si votre PC est sous Famille, relisez vous-même la page d'installation de Docker Desktop pour Windows avant d'installer, car c'est elle qui fait foi.

La voie 2, Docker Engine dans Ubuntu sous WSL 2, ne dépend pas de cette liste d'éditions. Elle dépend seulement des prérequis de WSL. La page d'installation de WSL de Microsoft les exprime en version et en numéro de build de Windows, pas en édition. Pour un PC sous Famille, c'est donc la voie la plus sûre.

Voie 1 : installer Docker Desktop avec le moteur WSL 2

Téléchargez l'installeur depuis la page d'installation de Docker Desktop pour Windows, puis suivez ces étapes.

  1. Double-cliquez sur Docker Desktop Installer.exe.
  2. Sur la page Configuration, laissez cochée l'option « Use WSL 2 instead of Hyper-V ».
  3. Suivez l'assistant, puis cliquez sur Close à la fin de l'installation.
  4. Lancez Docker Desktop, ouvrez Settings, onglet General, et vérifiez que « Use WSL 2 based engine » est coché. Cliquez sur Apply si vous avez changé quelque chose.

Docker propose aussi une installation par utilisateur en ligne de commande, qui ne demande pas les droits d'administrateur. Lancez-la dans une invite de commandes (cmd), depuis le dossier où se trouve l'installeur.

"Docker Desktop Installer.exe" install --user

Ouvrez ensuite un nouveau terminal PowerShell et testez le moteur.

docker run hello-world

Docker télécharge une petite image de test et la lance. Le conteneur affiche un message de confirmation, puis s'arrête. Si vous voyez ce message, Docker Desktop fonctionne. Pour vérifier la partie WSL seule, Docker propose cette commande dans sa page de dépannage :

wsl -d docker-desktop echo WSL 2 is working

Elle doit afficher WSL 2 is working. Si elle échoue, le problème vient de WSL ou de la virtualisation, pas de Docker. Voyez les sections sur les pannes plus bas.

Voie 2 : installer Docker Engine dans Ubuntu sous WSL 2

Cette voie se fait entièrement dans le terminal Ubuntu. Nous utilisons Ubuntu 24.04, installée avec wsl.exe --install -d Ubuntu-24.04, parce que nous avons vérifié les noms de paquets ci-dessous dans l'archive Ubuntu 24.04. Au premier lancement, Ubuntu vous demande de créer un nom d'utilisateur et un mot de passe Linux. Ils sont indépendants de votre compte Windows.

Vérifier que systemd tourne

Le service Docker est géré par systemd, le gestionnaire de services de Linux. Sous WSL, systemd n'est pas toujours actif. Vérifiez avec la commande que donne Microsoft :

systemctl list-unit-files --type=service

Si vous obtenez une liste de services, systemd tourne et vous pouvez passer à la suite. Si vous obtenez une erreur à la place, activez systemd dans le fichier /etc/wsl.conf de la distribution :

printf '[boot]\nsystemd=true\n' | sudo tee -a /etc/wsl.conf

Si le fichier contient déjà une section [boot], ajoutez plutôt la ligne systemd=true sous cette section avec un éditeur. Ensuite, dans PowerShell côté Windows, arrêtez WSL pour qu'il relise le fichier :

wsl.exe --shutdown

Rouvrez Ubuntu et relancez systemctl list-unit-files --type=service. Microsoft précise que systemd sous WSL demande une version récente de WSL issue du Microsoft Store. Si wsl --version n'est pas reconnu, mettez WSL à jour d'abord.

Installer les paquets de l'archive Ubuntu

Nous installons les paquets de l'archive Ubuntu : docker.io pour le moteur, et docker-compose-v2 pour la commande docker compose. Dans Ubuntu 24.04, docker-compose-v2 installe le greffon /usr/libexec/docker/cli-plugins/docker-compose. Vous obtenez donc la sous-commande docker compose, et non l'ancien binaire docker-compose.

sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker
systemctl status docker

systemctl status docker doit afficher active (running). Si le service est inactif, vérifiez d'abord que systemd tourne, comme expliqué plus haut.

L'autre option est le dépôt apt officiel de Docker, qui fournit docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin et docker-compose-plugin. Sa page d'installation liste Ubuntu 26.04, 24.04 et 22.04 parmi les versions prises en charge. Si vous préférez ce dépôt, copiez son bloc de configuration tel quel depuis la page d'installation de Docker Engine pour Ubuntu, puis installez :

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ne mélangez pas les deux sources. La page de Docker demande de désinstaller d'abord les paquets non officiels, dont docker.io, docker-compose, docker-compose-v2 et docker-buildx. Choisissez une source et gardez-la.

Utiliser docker sans sudo

Par défaut, votre utilisateur doit passer par sudo pour parler au démon Docker. Ajoutez-le au groupe docker :

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Si groupadd répond que le groupe existe déjà, ce n'est pas un problème : passez à la ligne suivante. Attention, la documentation de Docker le dit clairement : le groupe docker donne des privilèges équivalents à root. Sur votre propre PC, c'est acceptable. Sur une machine partagée, réfléchissez avant.

Tester l'installation

docker run hello-world
docker compose version

La première commande affiche le message de confirmation du conteneur de test. La seconde affiche la version de Compose. Si docker répond que compose n'est pas une commande docker, le greffon Compose n'est pas installé : il manque docker-compose-v2, ou docker-compose-plugin côté dépôt Docker.

Un conteneur qui publie un port dans WSL est joignable depuis Windows. Le réglage localhostForwarding de WSL est actif par défaut : les ports ouverts dans la machine virtuelle WSL 2 sont accessibles depuis Windows à l'adresse localhost:port. Un conteneur lancé avec -p 8080:80 s'ouvre donc à l'adresse http://localhost:8080 dans votre navigateur Windows.

Combien de mémoire WSL 2 prend-il, et comment la limiter ?

Par défaut, la machine virtuelle WSL 2 peut prendre jusqu'à 50 % de la mémoire totale de Windows. Elle reçoit aussi autant de processeurs logiques que Windows, et un fichier d'échange (swap) égal à 25 % de la mémoire, arrondi au Go supérieur. Sur un portable de 16 Go, WSL peut donc monter à 8 Go. Il reste alors peu de marge pour votre navigateur et votre éditeur.

Pour fixer une limite, créez le fichier .wslconfig dans votre dossier utilisateur Windows, C:\Users\<NomUtilisateur>\.wslconfig. Le fichier n'existe pas par défaut. Voici un exemple qui limite WSL à 4 Go et 2 processeurs :

[wsl2]
memory=4GB
processors=2

Sans unité, les tailles sont lues en octets. Ajoutez GB ou MB pour rester lisible. Le réglage s'applique à toutes vos distributions WSL 2 en même temps, y compris celle de Docker Desktop. Microsoft recommande aussi l'application « WSL Settings », dans le menu Démarrer, qui modifie ces mêmes réglages sans éditer le fichier à la main.

Le changement ne prend effet qu'au redémarrage complet de WSL. Fermez tous vos terminaux Linux, puis arrêtez WSL :

wsl --shutdown
wsl --list --running

La seconde commande doit répondre There are no running distributions. Microsoft parle d'une « règle des 8 secondes » : le sous-système met environ 8 secondes à s'arrêter après la fermeture du dernier terminal. Si vous relancez la distribution trop tôt, le fichier n'est pas relu. Rouvrez ensuite Ubuntu et lancez free -h : la colonne total doit afficher un peu moins de 4 Go.

Côté Docker Desktop, sa documentation indique qu'avec WSL 2 la mémoire est allouée dynamiquement, et que Docker Desktop ne demande que la mémoire et le processeur dont il a besoin. La limite de .wslconfig reste le plafond. Pour limiter un service précis plutôt que toute la machine virtuelle, utilisez les limites de mémoire par service dans Docker Compose.

Panne n°1 : la virtualisation est désactivée

C'est la panne la plus fréquente au premier lancement. La page de dépannage de Docker lui consacre une entrée intitulée « Docker Desktop fails due to Virtualization not working ». Elle cite deux causes principales : la virtualisation désactivée dans le BIOS, et des composants Hyper-V ou WSL 2 manquants.

Côté Microsoft, la page de dépannage de WSL décrit l'erreur 0x80370102 : « The virtual machine could not be started because a required feature is not installed. » La machine virtuelle ne démarre pas parce qu'une fonctionnalité requise n'est pas installée. Microsoft donne la correction : activer la fonctionnalité Windows Virtual Machine Platform, et vérifier que la virtualisation est activée dans le BIOS.

Dans ses entrées liées à WSL, la documentation de Docker cite aussi ces messages, que vous pouvez voir côté Docker Desktop :

Docker Desktop - Unexpected WSL error
Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

Corrigez dans cet ordre :

  1. Activez la virtualisation dans le BIOS/UEFI, puis vérifiez dans le Gestionnaire des tâches qu'elle apparaît comme activée.
  2. Lancez optionalfeatures.exe pour ouvrir la fenêtre des fonctionnalités de Windows. Vérifiez que la plateforme de machine virtuelle (Virtual Machine Platform) et le sous-système Windows pour Linux sont cochés, puis redémarrez.
  3. Si Windows ne lance pas l'hyperviseur au démarrage, ouvrez une invite de commandes administrateur, lancez bcdedit /set hypervisorlaunchtype auto, puis redémarrez Windows. C'est la correction donnée par Docker.

La page de Docker signale aussi que certains logiciels tiers, comme des émulateurs Android, peuvent désactiver Hyper-V à leur installation. Si la panne apparaît après l'installation d'un tel outil, commencez par l'étape 3.

Panne n°2 : WSL n'est pas à jour

La seconde panne est plus discrète. Docker Desktop exige WSL 2.1.5 ou plus récent, et systemd sous WSL demande une version récente issue du Microsoft Store. Une version trop ancienne de WSL bloque donc les deux voies de ce guide.

Commencez toujours par vérifier :

wsl --version

Si la commande n'est pas reconnue, ou si elle n'affiche aucun détail de version, vous avez la version « inbox » de WSL, celle livrée avec Windows. La page de dépannage de Microsoft pose la question tôt : avez-vous mis WSL à jour ? La correction tient en une commande, suivie d'un arrêt de WSL :

wsl --update
wsl --shutdown

Relancez ensuite wsl --version. La ligne de version de WSL doit afficher 2.1.5 ou plus. Nous ne citons pas de message d'erreur précis pour cette panne, parce que la documentation de Docker n'en donne pas. Le symptôme varie : Docker Desktop qui refuse de démarrer son moteur, ou systemctl qui ne fonctionne pas dans Ubuntu. Dans le doute, mettez WSL à jour avant de chercher plus loin.

Ensuite : le même compose.yaml sur un VPS Linux

Pour beaucoup de lecteurs, le but de cette installation est d'essayer en local une application qu'ils feront tourner plus tard sur un serveur. Écrivez donc vos services dans un fichier compose.yaml dès maintenant, et lancez-les avec docker compose up -d. Si vous débutez avec Compose, les bases de Docker Compose sur un VPS couvrent la structure du fichier et les commandes du quotidien.

Sur un VPS Linux, vous n'avez besoin ni de Docker Desktop ni de WSL. Docker Engine s'installe directement sur Ubuntu, avec les mêmes paquets que dans la voie 2 de ce guide. Le guide installer et utiliser Docker sur un VPS reprend cette installation côté serveur. Copiez votre compose.yaml sur le serveur, puis vérifiez les chemins des montages : un chemin Windows comme C:\projets\data n'existe pas sur le VPS. Un volume nommé évite ce problème, et le choix entre bind mount et volume nommé explique quand utiliser l'un ou l'autre.

Un point change vraiment entre votre PC et un serveur exposé à Internet : le pare-feu. Lisez pourquoi les ports publiés par Docker contournent ufw avant d'ouvrir un service au public. Si vous hésitez encore entre développer dans WSL ou directement sur un serveur distant, notre comparatif WSL ou VPS pour développer pèse les deux options.

FAQ

Docker Desktop fonctionne-t-il sur Windows 11 Famille ?

La page d'installation de Docker liste Windows 11 Enterprise, Pro et Education (version 23H2, build 22631 ou plus) pour le moteur WSL 2. L'édition Famille, ou Home, n'apparaît pas dans cette liste. La seule mention de Home sur la page dit que les éditions Home et Education ne font tourner que des conteneurs Linux. La page ne dit pas clairement si Home est pris en charge, alors vérifiez-la vous-même sur docs.docker.com avant d'installer. Pour ne pas dépendre de cette liste, installez Docker Engine dans Ubuntu sous WSL 2 : cette voie ne demande que WSL.

Combien de mémoire WSL 2 utilise-t-il par défaut ?

Par défaut, la machine virtuelle WSL 2 peut utiliser jusqu'à 50 % de la mémoire totale de Windows, plus un swap égal à 25 % de la mémoire, arrondi au Go supérieur. Pour la limiter, créez C:\Users\<NomUtilisateur>\.wslconfig avec une section [wsl2] et une ligne memory=4GB. Lancez ensuite wsl --shutdown, puis attendez quelques secondes avant de rouvrir votre distribution.

Que faire si Docker Desktop dit que la virtualisation ne fonctionne pas ?

Activez la virtualisation dans le BIOS/UEFI, dans les options liées au processeur. Vérifiez ensuite, avec optionalfeatures.exe, que la plateforme de machine virtuelle et le sous-système Windows pour Linux sont activés. Si le problème continue, lancez bcdedit /set hypervisorlaunchtype auto dans une invite de commandes administrateur, puis redémarrez Windows. L'erreur WSL 0x80370102 se corrige de la même façon, selon Microsoft.

Faut-il Docker Desktop pour utiliser docker compose sous Windows ?

Non. Dans une distribution Ubuntu 24.04 sous WSL 2, sudo apt install docker.io docker-compose-v2 installe le moteur Docker et le greffon docker compose. Vous travaillez alors en ligne de commande, sans l'application Docker Desktop et sans sa licence. Votre fichier compose.yaml se lance avec docker compose up -d, dans WSL comme sur un VPS Linux.

#docker#windows#wsl#docker-desktop#local-development