Installer Docker et vérifier son poste en 20 minutes
Un poste prêt en 20 minutes : Docker Desktop ou Docker Engine, Compose v2, un premier conteneur visible dans le navigateur et les bons réflexes de sécurité.
Module 0 · Démarrer vite et sereinement
Objectif du chapitre
Votre machine exécute docker version, docker compose version et lance un premier conteneur web visible dans votre navigateur. Durée : 20 min · 90 % pratique.
Prérequis : MonTour dans un conteneur et la méthode (chapitre 00).
Comment lire le schéma
- La commande
dockern’est qu’un client : elle envoie des requêtes à l’API du moteur (via le socket/var/run/docker.sock). - Le moteur (bloc Server de
docker version) délègue :dockerdgère images, réseaux et volumes,containerdle cycle de vie,runccrée le processus isolé. -p 8080:80relie le port 8080 de votre machine au port 80 du conteneur (pointillés).- Si seul le bloc Client s’affiche, c’est le moteur qui est arrêté, pas votre commande qui est fausse.
Étape 1 : installer Docker
Choisissez l’installation adaptée à votre système. Dans les trois cas, vous obtenez le moteur Docker, la commande docker et le plugin docker compose (avec un espace, la version 2).
- macOS : Docker Desktop (puces Apple ou Intel). Alternative légère : OrbStack ou Colima.
- Windows : activez WSL 2, puis installez Docker Desktop en cochant le moteur WSL 2. Travaillez ensuite dans votre distribution Linux (Ubuntu), pas dans PowerShell.
- Linux : Docker Engine depuis le dépôt officiel, puis ajoutez votre utilisateur au groupe
docker.
# Linux (Ubuntu / Debian) : script officiel, à relire avant de l'exécuter
curl -fsSL https://get.docker.com -o get-docker.sh
less get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER # puis déconnexion / reconnexion
Pratique : réglez les ressources
Dans Docker Desktop, réglez la mémoire sur 4 Go minimum et l’espace disque sur 40 Go. Supabase en local (chapitre 08) lance une dizaine de conteneurs : avec 2 Go, il démarre mal et les erreurs sont trompeuses.
Étape 2 : vérifier le moteur et Compose
docker version # deux blocs : Client et Server
docker compose version # v2.x attendu
docker info | head -20 # pilote de stockage, mémoire disponible
Si seul le bloc Client s’affiche, le moteur n’est pas démarré : lancez Docker Desktop ou sudo systemctl start docker.
Étape 3 : premiers conteneurs
docker run --rm hello-world
docker run --rm -d -p 8080:80 --name web nginx:alpine
curl -I http://localhost:8080 # HTTP/1.1 200 OK
docker logs web
docker stop web # --rm le supprime automatiquement
Lisez chaque option avant de lancer : --rm supprime le conteneur à l’arrêt, -d le lance en arrière-plan, -p 8080:80 relie le port 8080 de votre machine au port 80 du conteneur.
Réflexe sécurité
Être dans le groupe docker équivaut à être administrateur de la machine : un conteneur peut monter / et le modifier. Ne lancez jamais une image inconnue copiée d’un forum ou proposée par une IA sans vérifier sa source (image officielle, éditeur vérifié) et son tag exact.
Étape 4 : l’extension de votre éditeur
- VS Code ou Cursor : extension Docker (Container Tools) et Dev Containers.
- WebStorm / IntelliJ IDEA : plugin Docker intégré, onglet Services.
- Antigravity : extension Docker de l’Open VSX.
Vous y verrez images, conteneurs et volumes, et vous pourrez lire les logs sans quitter l’éditeur. Gardez quand même le terminal : toutes les commandes de la formation y sont données.
Le prompt reproductible
Même point de départ, même contexte, même résultat : partez du tag indiqué et collez ce prompt tel quel.
Point de départ : tag dk00 du dépôt MonTour.
Tâche : vérifie mon poste pour la formation Docker. Lance docker version,
docker compose version et docker info, puis explique en une ligne chacun
ce qui manque ou pose problème (moteur arrêté, mémoire < 4 Go,
Compose v1, architecture arm64/amd64).
Contraintes : n'installe rien, ne lance aucun conteneur, ne modifie aucun
fichier. Ne propose que des commandes issues de docs.docker.com.
Qualité et sécurité : ce que vous vérifiez
- Des images officielles et des tags explicites :
nginx:alpineplutôt quenginx; vous fixerez une version précise dès le chapitre 03. - Rien ne traîne :
docker ps -aest vide après les essais. Prenez l’habitude de--rm. - Sans IA : retrouvez dans
docker run --helpla signification de-p,-det--rm.
Outillage IA de ce chapitre
Connecteurs MCP : aucun à ce stade. L’assistant peut lancer des commandes de lecture (docker version, docker info), jamais docker run sans votre accord.
Agents : aucun. Détails dans le chapitre agents IA et Docker.
Vérifier
- ☐
docker versionaffiche les blocs Client et Server. - ☐
docker compose versionaffiche une version 2. - ☐ localhost:8080 a affiché la page d’accueil nginx.
- ☐
docker ps -ane liste aucun conteneur oublié. - ☐ Commit et tag
dk01posés (un simple fichierdocs/poste.mdavec vos versions).
Défi
Lancez docker run --rm -it alpine sh, créez un fichier, quittez, relancez la même commande : le fichier a disparu. Expliquez pourquoi en une phrase. La réponse est au chapitre suivant.
Pour aller plus loin
Suivez votre progression. Créez un compte gratuit pour cocher vos leçons et reprendre là où vous en étiez.
Créer un compte gratuit