Le Problème : Pourquoi Docker en Entreprise ?
Le Problème : Pourquoi Docker en Entreprise ? "Ça marche sur ma machine, mais pas en production !"
"Ça marche sur ma machine, mais pas en production !" Environnement de Développement
Environnement de Développement Ubuntu 22.04 Python 3.9 Node.js 16 PostgreSQL 13 Variables d'environnement locales
Variables d'environn... ✅ L'application FONCTIONNE
✅ L'application FONCTIONNE Machine du Développeur Environnement de Production
Environnement de Production CentOS 7 Python 3.6 Node.js 14 PostgreSQL 12 Variables d'environnement différentes
Variables d'environn... ❌ L'application PLANTE • Module Python incompatible
• Module Python incompatible • Version Node.js trop ancienne
• Version Node.js trop ancienne • Bibliothèque système manquante
• Bibliothèque système manquante Serveur de Production 🔄 SOLUTION DOCKER : Environnement cohérent partout
🔄 SOLUTION DOCKER : Environnement cohérent p... Conteneur Docker Standardisé
Conteneur Docker Standardisé Même OS,
mêmes versions,
mêmes configurations→ Garanti identique partout
Même OS,... Text is not SVG - cannot display
En entreprise, le scénario classique :
🖥️ Développement : Ubuntu 22.04, Python 3.9, Node.js 16
🚀 Production : CentOS 7, Python 3.6, Node.js 14
❌ Résultat : "Ça marche sur ma machine mais pas en production !"
La solution Docker : Un environnement standardisé qui fonctionne partout de la même manière.
Comparaison : Machines Virtuelles vs Docker
Comparaison : Machines Virtuel... MACHINES VIRTUELLES (VMs)
MACHINES VIRTUELLES (VMs) Application 1 Application 2 Système d'Exploitation 1 Système d'Exploitation 2 Hyperviseur Système Hôte (OS) Matériel (Serveur) DOCKER (Conteneurs) Application 1 Application 2 Application 3 Application 4 Moteur Docker Système Hôte (OS) Matériel (Serveur) Chaque VM a son OS complet
+ Lourd et gourmand en ressources
Chaque VM a son OS complet... Conteneurs partagent le noyau OS
+ Léger et efficace
Conteneurs partagent le noyau OS... Text is not SVG - cannot display
Image Docker : Modèle immuable (comme un CD d'installation)
Conteneur : Instance en cours d'exécution (comme un programme lancé)
Dockerfile : Recette pour construire une image
Registry : Dépôt d'images (Docker Hub)
NEXT => INSTALLATION SUR DEBIAN