🐳 Docker : Conteneurisation moderne
Docker est une technologie moderne qui apporte de nombreux avantages aux développeurs et aux entreprises en facilitant la gestion et le déploiement d'applications dans des environnements cohérents et reproductibles.
Docker est une plateforme de virtualisation légère qui normalise l'environnement d'exécution des applications. Fini le "ça marche sur mon poste !" : un conteneur embarque toutes les dépendances et fonctionne partout de la même manière.
Objectifs du chapitre
- Comprendre la conteneurisation et ses avantagesFaible
- Installer Docker sur son systèmeMoyenne
- Écrire un Dockerfile et construire une imageÉlevée
- Gérer les conteneurs, volumes et réseauxMoyenne
🔑 Concepts fondamentaux
Docker repose sur trois piliers :
- 🚚 Conteneurs : environnements d'exécution légers et autonomes
- 📦 Images : modèles immuables pour créer les conteneurs
- 💾 Volumes : stockage persistant partagé entre conteneurs et hôte
📋 Parcours du chapitre
📥 Installation
Installer Docker sur Linux, macOS et Windows.
📦 Création d'images
Écrire un Dockerfile et construire une image.
🔧 Gestion de conteneurs
Démarrer, inspecter et arrêter des conteneurs.
🌐 Réseau et stockage
Volumes et réseaux inter-conteneurs.
🧾 TLDR
Mémento des commandes essentielles.
📚 Ressources
Liens et compléments pour aller plus loin.
🛠️ Atelier — construire et lancer une image
Écrivez un Dockerfile minimal puis construisez et lancez le conteneur en montant un volume.
1. Écrire le Dockerfile
Partir d'une image de base (node:20-alpine), copier le code, installer les dépendances, exposer le port et définir la commande de lancement.
2. Construire l'image
docker build -t mon-app .3. Lancer avec un volume
docker run -p 3000:3000 -v $(pwd)/data:/data mon-appVérifiez que le conteneur démarre et que les données persistent dans le volume.
🏋️ Exercice
Dockerfile multi-étapes + docker-compose avec volume persistant. → Exercice
🎯 Synthèse
Docker normalise l'environnement d'exécution via images, conteneurs et volumes. Dans le projet fil rouge (branche session-07), ce chapitre fournit une base MongoDB conteneurisée.
Docker
Terminez le quiz du chapitre pour le marquer comme complété.