La conteneurisation vise à rendre une application reproductible et portable.
Le problème #
Sans conteneur :
- conflits de versions
- dépendances système manquantes
- différences Windows / Mac / Linux
- “chez moi ça marche”
- déploiement fragile
Un projet devient difficile à reproduire d’un environnement à l’autre.
La solution #
Un conteneur embarque :
- le code
- les dépendances
- la configuration
L’environnement devient isolé et autonome.
Ce que cela apporte #
- Reproductibilité
- Isolation
- Portabilité
- Déploiement simplifié
Les écarts entre développement et production sont fortement réduits.
En data #
Docker devient pertinent dès qu’un projet est :
- déployé (API modèle, service batch)
- orchestré (Airflow)
- collaboratif
- industrialisé
Moins utile pour une exploration locale rapide ou un notebook jetable.