0.2Installer Docker et lancer son premier conteneur
L'essentiel en 30 secondes
- Docker Desktop sur Windows/macOS, Docker Engine sur Linux (+ plugin Compose) : prenez les paquets officiels.
- docker version + docker compose version valident l'installation ; docker run hello-world valide l'exécution de bout en bout.
- Retenez le trio pull → run → ps : télécharger, créer + démarrer, voir — tout le guide le rejoue à grande échelle.
Mini-cas filé — Idir prépare son poste à Alger sans conflit de daemon
Idir, devops junior à Alger, prépare son poste Windows : au lieu d'empiler les installeurs, il suit le rituel. Il installe Docker Desktop depuis les paquets officiels (avec WSL 2 et la virtualisation activée dans le BIOS), vérifie avec docker version et docker compose version, puis lance docker run hello-world : le message s'affiche — client, daemon, registre et exécution fonctionnent. Il liste ensuite avec docker images et docker ps -a pour lire ce qui vient de se passer, puis nettoie. Son terrain de jeu est prêt, sans deuxième moteur en parallèle.
Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 0.2.
1. Que faut-il installer ?
Sur Windows et macOS, on installe Docker Desktop (interface + moteur + Compose inclus). Sur Linux, on installe Docker Engine (paquets officiels) puis le plugin Compose. Dans tous les cas, on vérifie avec docker version et docker compose version. Idir prend les paquets officiels (docs.docker.com), jamais de dépôt exotique, et n'installe qu'un seul moteur pour éviter les conflits de daemon.
2. Le rituel hello-world
docker run hello-world télécharge une mini-image de test, crée un conteneur, l'exécute (il affiche un message) puis le termine. Si ce message s'affiche, tout fonctionne : le client parle au daemon, le registre répond, l'exécution marche. Idir garde hello-world comme test de régression : en cas de panne future, il rejoue ce rituel pour isoler le problème.
3. Lire ce qui vient de se passer
docker images montre l'image téléchargée, docker ps -a le conteneur terminé. Retenez le trio : pull (télécharger), run (créer + démarrer), ps (voir). Tout le reste du guide rejoue ce trio à grande échelle. Idir lit ses images et ses conteneurs après chaque lancement : voir ce que l'on vient de faire est le réflexe de base.
🔎 Exemple concret — 🔎 Exemple concret — Vérification complète
Idir valide son installation de bout en bout avec quatre commandes.
docker version
docker compose version
docker run hello-world
docker ps -a
Lecture : les deux premières commandes prouvent l'installation, la troisième prouve l'exécution, la dernière montre le conteneur terminé.
Leçon : en cas de panne future, on rejoue ce rituel pour isoler le problème.
Vocabulaire de la section
- Docker Desktop
- L'application tout-en-un (Windows/macOS) : moteur, Compose, interface.
Exemple simple : Idir l'installe sur son Windows avec WSL 2.
Ce que ce n'est pas : le moteur Linux en ligne de commande seule.
Réflexe : Windows/macOS → Desktop d'abord.
- Docker Engine
- Le moteur sous Linux : daemon + client en ligne de commande.
Exemple simple : Idir l'installera plus tard sur son serveur Linux avec le plugin Compose.
Ce que ce n'est pas : l'interface graphique Desktop.
Réflexe : Linux → Engine + plugin Compose.
- hello-world
- L'image de test minimale qui valide l'installation.
Exemple simple : Idir la lance en premier et garde la commande comme test de régression.
Ce que ce n'est pas : une image applicative à garder en production.
Réflexe : panne suspecte → rejouer hello-world.
- Daemon
- Le service de fond qui exécute réellement les conteneurs.
Exemple simple : Idir comprend que son docker run hello-world a été exécuté par le daemon.
Ce que ce n'est pas : la commande tapée au clavier.
Réflexe : moteur qui ne démarre pas → virtualisation et daemon d'abord.
- Client
- La commande docker qui dialogue avec le daemon.
Exemple simple : Idir tape docker version : le client interroge le daemon.
Ce que ce n'est pas : le service qui exécute les conteneurs.
Réflexe : le client ordonne, le daemon exécute.
En pratique — En pratique — Installer et valider
- Installez Docker Desktop (ou Engine + Compose sur Linux), comme Idir, depuis les paquets officiels.
- Lancez docker version et docker compose version.
- Exécutez docker run hello-world et lisez le message.
- Listez images et conteneurs (images, ps -a), puis nettoyez.
Script pas-à-pas — installer et valider comme Idir (10 min)
1) Installez le paquet officiel : Docker Desktop sur Windows/macOS (activez WSL 2 + virtualisation BIOS sur Windows) ou Engine + plugin Compose sur Linux. 2) Tapez docker version puis docker compose version : les deux répondent. 3) Tapez docker run hello-world : lisez le message de validation. 4) Tapez docker images puis docker ps -a : repérez l'image hello-world et son conteneur terminé. 5) Nettoyez le conteneur de test et gardez la séquence : c'est votre test de régression.
Si le moteur ne démarre pas sur Windows, contrôlez WSL 2 et la virtualisation avant tout le reste.
Modèle copier-coller — ma check-list d'installation
docker version
docker compose version
docker run hello-world
docker images
docker ps -a
# OK si : versions affichées + message hello-world + image et conteneur listés.
Poste Windows
Idir sur Windows : Docker Desktop + WSL 2 + virtualisation BIOS activée, puis le rituel hello-world.
Poste macOS
Collègue d'Idir sur Mac : Docker Desktop, mêmes quatre commandes de validation.
Serveur Linux
Idir sur Linux : Docker Engine via paquets officiels + plugin Compose, mêmes vérifications.
Panne future
Le moteur semble cassé dans un mois : Idir rejoue docker run hello-world pour isoler client, daemon, registre et exécution.
✓ Bonnes pratiques
- Prenez les paquets officiels (docs.docker.com), pas les dépôts exotiques.
- Activez le démarrage de Docker Desktop au besoin.
- Gardez hello-world comme test de régression.
✗ Pièges fréquents
- Installer deux moteurs en parallèle (conflits de daemon).
- Oublier la virtualisation activée dans le BIOS (Windows).
- Lancer des images inconnues dès le premier jour.
Points clés à retenir
- Desktop sur Windows/macOS, Engine sur Linux.
- docker version valide l'installation.
- docker run hello-world valide l'exécution.
- pull → run → ps : le trio de base.
Défi 48h — appliquez demain
Exécutez la check-list du modèle sur votre poste comme Idir : installez le paquet officiel, affichez les deux versions, lancez hello-world, puis listez avec images et ps -a.
- Docker est installé depuis les paquets officiels (Desktop ou Engine + Compose).
- docker version et docker compose version répondent.
- docker run hello-world affiche son message et je lis le résultat avec images et ps -a.
Questions fréquentes
Docker Desktop est-il gratuit ?
Pour un usage personnel, l'apprentissage et les petites structures, oui. Les grandes entreprises doivent vérifier la souscription. Sur Linux, le moteur reste libre — Idir apprend donc sans payer.
WSL 2 est-il obligatoire sur Windows ?
Oui, Docker Desktop s'appuie dessus : installez WSL 2 et activez la virtualisation, sinon le moteur ne démarre pas. C'est le premier contrôle d'Idir quand Desktop refuse de se lancer.
Que prouve un « docker run hello-world » qui affiche son message ?