Aller au contenu

1 — Pourquoi Docker ?

Une application dépend de beaucoup de choses : une version de langage, des bibliothèques, de la configuration… D’un poste à l’autre, ou entre le poste du développeur et le serveur, ces éléments diffèrent. Résultat : « ça marche sur ma machine », mais pas ailleurs.

Docker empaquète l’application avec tout ce dont elle a besoin dans un format standard, qui s’exécute de la même façon partout.

Machine virtuelle Conteneur
Contient Un système d’exploitation complet Juste l’application et ses dépendances
Taille Plusieurs Go Quelques Mo à quelques centaines de Mo
Démarrage Minutes Secondes (ou moins)
Isolation Très forte (noyau séparé) Forte (noyau partagé avec l’hôte)
  • Image : un modèle en lecture seule (le « moule »). Exemple : nginx, python:3.13.
  • Conteneur : une instance en cours d’exécution d’une image (le « gâteau »). On peut lancer plusieurs conteneurs depuis la même image.
  • Registre : un entrepôt d’images. Le plus connu est Docker Hub.
  • Docker Engine : le moteur qui construit et exécute les conteneurs. Docker Desktop l’embarque avec une interface graphique.
docker (ligne de commande)
│
▼
Docker Engine ──── télécharge ───► Registre (Docker Hub)
│
▼
Conteneurs en cours d'exécution