
🐋 Introduction à Docker
Docker est une plateforme qui automatise le déploiement d'applications dans des conteneurs légers, portables et reproductibles.
Plutôt que d'installer une application directement sur une machine, vous créez un conteneur Docker qui embarque tout ce qu'elle nécessite : code, bibliothèques, dépendances, etc.
🧩 Les avantages de Docker
-
🔁 Portabilité : "Ça marche sur ma machine" n'est plus une excuse.
-
⚡ Rapidité : Déploiement plus rapide qu'avec des VM classiques.
-
📦 Isolation : Chaque conteneur fonctionne comme une mini-machine autonome.
-
🚀 Scalabilité : Idéal pour les architectures microservices.
🔨 Exemple pratique : conteneuriser une app Node.js
📁 Structure du projet
/my-app
|- Dockerfile
|- package.json
|- index.js
📄 index.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello from Docker!');
});
app.listen(3000, () => {
console.log('App running on port 3000');
});
🔧 Dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "index.js"]
📦 Commandes Docker essentielles
🔧 1. Construire une image Docker
docker build -t my-node-app .
🚀 2. Lancer un conteneur à partir de l'image
docker run -p 3000:3000 my-node-app
🔁 3. Lister les conteneurs en cours d'exécution
docker ps
📋 4. Lister toutes les images Docker
docker images
🗑️ 5. Supprimer une image
docker rmi <image_id>
🧹 6. Nettoyer tout (images, conteneurs, volumes non utilisés)
docker system prune -a
🛠️ 7. Exécuter un conteneur en mode interactif (avec terminal)
docker run -it ubuntu bash
🔍 8. Afficher les logs d'un conteneur
docker logs <container_id>
💻 9. Accéder à un conteneur en cours
docker exec -it <container_id> /bin/bash
📦 10. Arrêter et supprimer un conteneur
docker stop <container_id>
docker rm <container_id>
🛠️ Docker + DevOps = ❤️
Dans une chaîne CI/CD, Docker :
-
Simplifie la gestion des environnements.
-
Facilite les tests automatisés.
-
Permet un déploiement cohérent d'un environnement local jusqu'à la production.
🔍 Conclusion
Docker n'est pas juste un outil tendance, c'est une révolution dans la façon de développer et de livrer les applications.
Il réduit les problèmes d'incompatibilité, accélère les déploiements, et s'intègre parfaitement dans un écosystème DevOps moderne.
📚 Ressources utiles
Partager cet article


Pourquoi Docker ?
Docker permet d'emballer une application et toutes ses dépendances dans un conteneur isolé. Cela garantit que l'application fonctionnera toujours de la même manière, quel que soit l'environnement.