Épisode 02 / 9Les bases35 min
Installer Docker
Sur Windows, WSL 2 puis Docker Desktop ; sur Ubuntu, Docker Engine depuis le dépôt officiel. Les deux chemins se rejoignent sur le même test : hello-world.
Tapez les commandes dans PowerShell, avec Docker Desktop démarré : « Engine running » en bas à gauche.
Ajoutez sudo devant chaque commande docker, sauf si vous avez choisi le groupe docker à l’épisode 2.
Dans cet épisode
- Vérifier que votre machine a ce qu’il faut avant d’installer quoi que ce soit
- Installer Docker depuis sa source officielle, et nulle part ailleurs
- Prouver que tout fonctionne avec un premier conteneur de test
Deux systèmes, deux méthodes d’installation. Le sélecteur en haut de page n’affiche que la vôtre ; les deux chemins se rejoignent à la fin pour le même test.
Étape 1 : vérifier le PC
| Point à vérifier | Où regarder | Ce qu’il faut |
|---|---|---|
| Version de Windows | Touche Windows + R, tapez winver, Entrée | Windows 11 version 23H2 ou plus récente |
| Virtualisation | Gestionnaire des tâches (Ctrl + Maj + Échap), onglet Performances, Processeur | « Virtualisation : Activé » |
| Mémoire | Même écran, rubrique Mémoire | 8 Go, le minimum indiqué par Docker |
Les éditions Famille conviennent : elles font tourner les conteneurs Linux, les seuls utilisés dans cette formation. Windows 10 22H2 figure encore dans la documentation de Docker, mais Docker ne prend en charge que les versions de Windows toujours suivies par Microsoft : sur un PC resté sous Windows 10, vérifiez ce point avant de vous lancer.
Étape 2 : installer ou mettre à jour WSL 2
Ouvrez PowerShell (menu Démarrer, tapez « PowerShell ») et demandez d’abord l’état actuel :
wsl --version
- Une version s’affiche : WSL est présent. Mettez-le à jour avec
wsl --update. Docker demande au minimum la version 2.1.5. - Un message d’erreur ou une aide s’affiche : WSL est absent. Fermez PowerShell, rouvrez-le avec un clic droit, « Exécuter en tant qu’administrateur », puis lancez :
wsl --install
Redémarrez le PC quand Windows le demande. Au redémarrage, Ubuntu peut s’ouvrir tout seul pour sa première configuration : choisissez un nom d’utilisateur et un mot de passe Linux (rien ne s’affiche pendant la frappe du mot de passe, c’est normal). Cette petite installation d’Ubuntu n’est pas indispensable à Docker, mais elle ne gêne pas.
Étape 3 : installer Docker Desktop
- Téléchargez l’installeur uniquement depuis la page officielle de Docker. Un « Docker » trouvé sur un site de téléchargement tiers est à fuir.
- Lancez l’installeur et gardez l’option Use WSL 2 instead of Hyper-V.
- Gardez l’installation par utilisateur, proposée par défaut : Docker la recommande, et elle ne demande pas de droits administrateur pour les mises à jour.
- Au premier lancement, lisez puis acceptez les conditions d’utilisation. Créer un compte Docker est facultatif : aucun exercice n’en a besoin.
- Si une mise à jour est proposée, installez-la tout de suite.
Docker Desktop est gratuit pour un usage personnel. Seules les entreprises de plus de 250 salariés ou de plus de 10 millions de dollars de chiffre d’affaires doivent prendre un abonnement.
Étape 4 : attendre « Engine running »

Tant que la mention Engine running n’apparaît pas en bas à gauche, aucune commande ne peut fonctionner. Le numéro en bas à droite est la version de Docker Desktop : le vôtre sera sans doute différent.
Profitez-en pour repérer le menu de gauche. Containers, Images, Volumes et Builds vous serviront à chaque épisode pour voir le résultat de vos commandes.
Étape 1 : identifier la machine
lsb_release -ds
dpkg --print-architecture
Docker prend en charge Ubuntu 22.04, 24.04 et 26.04 LTS, en 64 bits
(amd64 ou arm64 le plus souvent). Les dérivées comme Linux Mint ne sont pas
officiellement couvertes : ça peut fonctionner, mais cette procédure n’est pas
garantie chez elles.
Étape 2 : chercher les paquets en conflit
Ubuntu propose ses propres paquets Docker, plus anciens, qui entrent en conflit avec ceux de Docker. Listez d’abord ce qui est installé :
dpkg -l | grep -E 'docker|containerd|runc|podman'
Si rien ne s’affiche, passez à l’étape suivante. Sinon, la commande officielle retire uniquement les paquets en conflit réellement présents :
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
Une ancienne installation laisse ses images, conteneurs et volumes dans
/var/lib/docker. Ce dossier n’est pas effacé par la désinstallation : ne le
supprimez pas sans avoir vérifié qu’il ne contient rien d’utile.
Étape 3 : ajouter le dépôt officiel
La clé permet à APT de vérifier que chaque paquet vient bien de Docker ; le
fichier docker.sources indique où les trouver, en détectant tout seul votre
version d’Ubuntu et votre architecture.
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
Étape 4 : installer Docker Engine
Le moteur, le client, et les deux extensions dont la formation se sert : Buildx pour construire des images et Compose pour décrire des projets.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Sur Ubuntu, le service démarre tout seul. Vérifiez-le :
systemctl is-active docker
La réponse attendue est active. Docker propose aussi un script d’installation
express : il le réserve lui-même aux environnements de test. Ici, chaque dépôt
et chaque paquet restent visibles.
Étape 5 : garder sudo, ou rejoindre le groupe docker ?
Par défaut, seul l’administrateur peut piloter Docker : chaque commande commence
par sudo. Ajouter votre compte au groupe docker évite de le taper, mais ce
n’est pas un simple confort.
Garder sudo | Groupe docker | |
|---|---|---|
| Au quotidien | sudo docker ps | docker ps |
| Mot de passe | Demandé régulièrement | Jamais |
| Conséquence | Chaque élévation reste visible | Votre compte devient, en pratique, administrateur |
Pour apprendre, gardez sudo : le rappel en haut de chaque épisode vous le
redira. Si vous choisissez le groupe en connaissance de cause :
sudo usermod -aG docker $USER
Fermez ensuite votre session et reconnectez-vous pour que le changement s’applique.
Le test commun : hello-world
Sur les deux systèmes, deux commandes suffisent. La première doit afficher deux sections, Client et Server : si la seconde manque, le client ne parvient pas à joindre le moteur.
docker version
La seconde lance un vrai conteneur de test. L’option --rm le supprime tout
seul dès qu’il a terminé.
docker run --rm hello-world
Lisez le message affiché : sous « Hello from Docker! », il raconte exactement ce qui vient de se passer, et c’est le schéma de l’épisode 1.
| Étape annoncée | Ce qu’elle signifie |
|---|---|
| Le client a contacté le moteur | Votre commande est arrivée à Docker |
| Le moteur a téléchargé l’image depuis Docker Hub | Le registre fonctionne, votre machine a accès à Internet |
| Le moteur a créé un conteneur depuis l’image | L’image devient une exécution |
| Le moteur a renvoyé la sortie vers votre terminal | Le texte que vous lisez vient du conteneur |
Relancez la même commande : les lignes qui précédaient le message la première fois (« Unable to find image… », « Pulling from… ») ont disparu. L’image est déjà sur votre machine, Docker ne la télécharge plus.
Testez-vous
3 questions pour vérifier que l’essentiel est acquis. Rien n’est noté ni enregistré.
Pourquoi Docker Desktop a-t-il besoin de WSL 2 sous Windows ?
Les conteneurs de cette formation sont des conteneurs Linux : ils ont besoin d’un noyau Linux. WSL 2 en fait tourner un, dans une machine virtuelle légère gérée par Windows.
Sous Ubuntu, que donne l’appartenance au groupe docker ?
Le moteur Docker tourne avec les pleins pouvoirs. Qui le pilote peut lancer un conteneur qui monte tout le disque de la machine, et y modifier n’importe quoi — sans jamais taper de mot de passe.
Que prouve le message « Hello from Docker! » ?
Ce petit conteneur valide toute la chaîne de l’épisode 1 : client, moteur, registre, image, conteneur. Rien de plus — il ne vérifie ni les mises à jour, ni le réseau.
Vérifier que tout fonctionne
Cochez au fur et à mesure : quand tout est coché, vous pouvez passer à la suite.
Problèmes courants
Windows : Docker Desktop signale que la virtualisation n’est pas disponible
Ouvrez le Gestionnaire des tâches, onglet Performances, puis Processeur : la ligne « Virtualisation » doit indiquer « Activé ». Sinon, activez-la dans l’UEFI (Intel VT-x, ou AMD-V, parfois appelé SVM) en suivant la documentation du fabricant de votre PC ou de votre carte mère.
Windows : Docker Desktop reste bloqué au démarrage
Lancez wsl --update dans PowerShell, redémarrez le PC, puis relancez Docker Desktop. Évitez « Reset to factory defaults » dans le menu de dépannage : cette remise à zéro efface toutes vos images, tous vos conteneurs et tous vos volumes.
Ubuntu : « permission denied while trying to connect to the Docker daemon socket »
Vous avez lancé docker sans sudo. Relancez la commande avec sudo devant — ou tapez simplement sudo !! : le terminal rejoue la dernière commande, avec sudo cette fois.
Ubuntu : « Unable to locate package docker-ce »
Le dépôt Docker n’est pas pris en compte. Affichez le fichier avec cat /etc/apt/sources.list.d/docker.sources, relancez sudo apt update et lisez les lignes d’erreur éventuelles : une faute de frappe dans ce fichier suffit.
« Cannot connect to the Docker daemon »
Le client fonctionne, mais le moteur ne répond pas. Sous Windows, démarrez Docker Desktop et attendez « Engine running ». Sous Ubuntu, lancez sudo systemctl start docker, puis vérifiez avec systemctl is-active docker.
Votre progression reste sur cet appareil, rien n’est envoyé.