Aller au contenu
Runbook

Installer Docker sur Windows

Moteur de conteneurs pour empaqueter, distribuer et exécuter des applications de façon isolée.

Conteneurscontainerconteneurdevopscomposeoci

Installation

Docker Desktop (winget) · winget
winget install Docker.DockerDesktop

Nécessite WSL2 activé. Lancez Docker Desktop après l'installation pour démarrer le moteur.

Vérifier l'installation

Vérifier
docker --version

Fichiers importants

TypeCheminDescription
config%USERPROFILE%\.docker\config.jsonConfiguration du client Docker (authentification aux registres, alias).
socketnpipe:////./pipe/docker_engineCanal nommé Windows exposé par Docker Desktop pour le client local.

Outils en ligne de commande

  • dockerClient en ligne de commande pour gérer images et conteneurs.
  • docker composeOrchestration multi-conteneurs (sous-commande intégrée).

Désinstaller

Désinstaller
winget uninstall Docker.DockerDesktop

À savoir

  • Docker Desktop sur Windows repose sur WSL2 : activez-le au préalable avec wsl --install puis redémarrez.
  • Le moteur ne tourne que lorsque Docker Desktop est lancé ; il n'y a pas de service systemd côté Windows.
  • Le socket Unix /var/run/docker.sock n'existe pas tel quel : le client passe par un canal nommé (npipe).

Installation sur Windows

winget install Docker.DockerDesktop installe Docker Desktop, qui embarque le moteur, le client, Compose et l'interface graphique. Le moteur s'exécute dans une distribution Linux gérée par WSL2 : c'est le mode recommandé, bien plus performant et léger que l'ancien backend Hyper-V. Activez WSL2 avant l'installation avec wsl --install (PowerShell en administrateur), puis redémarrez.

Après l'installation, lancez l'application Docker Desktop au moins une fois : tant qu'elle n'est pas démarrée, docker ps échoue avec une erreur de connexion au démon.

docker --version ne prouve que la présence du client : la commande répond même quand le moteur est arrêté. Or, sur Docker Desktop, le moteur ne tourne que lorsque l'application est lancée — c'est précisément là qu'il peut être à l'arrêt. Pour vérifier que le moteur répond réellement, exécutez docker run --rm hello-world : cette commande télécharge une petite image, démarre un conteneur et confirme que la chaîne client → pipe → moteur fonctionne de bout en bout.

WSL2 et intégration

Docker Desktop propose d'intégrer le moteur à vos distributions WSL2 (paramètre « WSL Integration ») : une fois activée pour une distribution, la commande docker y est disponible directement, et les conteneurs accèdent au système de fichiers Linux de WSL avec de bien meilleures performances que via les chemins Windows montés. Privilégiez le stockage de vos projets dans le système de fichiers WSL (\\wsl$\…) plutôt que sous C:\Users\… pour éviter la lenteur des accès inter-systèmes.

Pièges fréquents

Côté Windows, il n'y a pas de service systemd ni de socket /var/run/docker.sock natif : le client communique avec le démon via un canal nommé (npipe:////./pipe/docker_engine). La configuration du client se trouve dans %USERPROFILE%\.docker\config.json. Gardez à l'esprit que ce canal nommé, comme le socket Unix sous Linux, donne un contrôle quasi-root sur la machine : quiconque y a accès peut lancer des conteneurs privilégiés et monter le système de fichiers hôte. N'exposez jamais ce pipe (ni le démon en TCP) à des utilisateurs ou des réseaux non fiables. Enfin, distinguez bien les conteneurs Linux (par défaut, via WSL2) des conteneurs Windows : la bascule se fait dans Docker Desktop et change l'ensemble des images compatibles.