Projet · Phase 3.1

Docker (1/9) — Installer Docker proprement

Installer Docker, ce n'est pas taper une commande au hasard. C'est construire une chaîne de confiance entre ta machine et le code que tu vas exécuter.

⏱ ~1 hNiveau débutantPrérequis : Phase 2Pratique · TP
L’idée reçue

« Installer Docker ? Facile : sudo apt install docker et c’est fini. »

En réalité, cette commande installe souvent une version obsolète — ou rien d’utilisable. Pire : installer un logiciel sans vérifier d’où il vient, c’est laisser entrer du code qu’on n’a jamais choisi. Ici, on apprend à obtenir Docker de la bonne source, de la bonne manière.

On travaille sur un serveur Debian 13 (l’une de tes VMs, derrière le pare-feu). Imagine un colis important : tu vérifies le sceau de l’expéditeur, la route sécurisée qu’il a empruntée, et que l’adresse te correspond. Installer Docker proprement, c’est exactement ça : chaque étape est un maillon d’une chaîne de confiance.

À la fin de ce module, tu sauras…

  • Préparer un système Debian propre et à jour
  • Expliquer le rôle de chaque outil prérequis (gnupg, ca-certificates…)
  • Ajouter le dépôt officiel Docker et vérifier son authenticité (clé GPG)
  • Installer le moteur Docker et vérifier avec ton premier conteneur

01Mettre le système à jour

Manipule
sudo apt update && sudo apt upgrade -y
Comprends pourquoi d’abord

On synchronise la liste des paquets et on applique les correctifs de sécurité avant d’installer quoi que ce soit. Règle DevOps : jamais d’installation sur un système négligé.

02Installer les outils de base

Manipule
sudo apt install -y ca-certificates curl gnupg
OutilSon rôle dans la chaîne
gnupgLe sceau : vérifie la signature des paquets
curlTélécharge la clé et les fichiers du dépôt
ca-certificatesVérifie les certificats TLS (la route sécurisée)

03Ajouter la clé GPG officielle (le sceau)

Manipule
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Comprends à quoi sert cette clé

On importe la clé publique de Docker : le système n’acceptera que les paquets signés avec cette clé officielle. C’est ce qui empêche un faux paquet de se glisser dans la chaîne.

04Ajouter le dépôt officiel

Manipule
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Comprends le paramètre signed-by

dpkg –print-architecture détecte l’architecture, VERSION_CODENAME le nom de code Debian (ex. trixie), et signed-by lie le dépôt à la clé. APT n’acceptera ce dépôt que s’il est signé par la bonne clé.

05Installer le moteur Docker

Manipule
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Comprends les composants

docker-ce = le moteur (daemon) ; docker-ce-cli = la ligne de commande ; containerd.io = le runtime bas niveau ; buildx = le builder moderne ; compose-plugin = docker compose.

06Vérifier — ton premier conteneur

Manipule
sudo docker version
sudo docker run hello-world
Observe
Hello from Docker!
This message shows that your installation appears to be working correctly.
Docker a téléchargé une image, créé un conteneur, l’a exécuté, puis s’est arrêté. Installation validée par la preuve.
!
Astuce — Docker sans sudo. Ajoute ton utilisateur au groupe docker : sudo usermod -aG docker $USER, puis reconnecte-toi. Attention : ce groupe équivaut à un accès root, à n’accorder qu’à des comptes de confiance.

Ce que tu retiens

Installer Docker proprement = sécuriser sa supply chain : une source officielle, vérifiée par signature, en transport HTTPS, ciblée sur la bonne version de Debian. Ce réflexe te suivra bien au-delà de Docker.

Mini-projet

Ta machine à conteneurs est prête

Vérifie et documente ta chaîne d’installation.

À faire

  1. cat /etc/apt/sources.list.d/docker.list (le dépôt existe)
  2. ls -l /etc/apt/keyrings/docker.gpg (la clé est là)
  3. docker –version et docker compose version
  4. docker run hello-world — conserve la sortie
  5. Prends un snapshot de la VM nommé docker-ok
Fil rouge — Ta VM sait maintenant faire tourner des conteneurs. Au module suivant, on va regarder un conteneur vivre — et démonter l’idée reçue selon laquelle « un conteneur, c’est une petite VM ».
Connecte-toi pour enregistrer ta progression.

Suite → Docker (2/9) — Le conteneur, par la preuve