Isoler une application n'est pas une idée née avec Docker. Avant les conteneurs, la solution la plus répandue s'appelait la machine virtuelle : un ordinateur complet simulé à l'intérieur d'un autre ordinateur. Comprendre ce que Docker fait différemment aide à comprendre pourquoi les conteneurs se sont autant répandus.

Ce qu'une machine virtuelle simule vraiment

Une machine virtuelle simule un ordinateur entier : elle installe son propre système d'exploitation complet, avec son propre noyau, indépendant de celui de la machine qui l'héberge. Résultat : une machine virtuelle est lourde, occupe plusieurs gigaoctets, et met souvent plusieurs dizaines de secondes, voire plusieurs minutes, à démarrer, exactement comme un ordinateur physique qu'on allume.

Ce qu'un conteneur fait différemment

Un conteneur ne simule pas un ordinateur entier. Il partage le noyau du système d'exploitation de la machine qui l'héberge, et isole uniquement ce qui doit l'être : les fichiers de l'application, ses processus, son réseau. Un conteneur n'embarque donc pas de système d'exploitation complet, ce qui le rend beaucoup plus léger, souvent quelques dizaines ou centaines de mégaoctets, et beaucoup plus rapide à démarrer, en général en une seconde ou deux.

Une analogie, avec sa limite

Une machine virtuelle ressemble à construire un immeuble complet, avec ses propres fondations, pour y loger un seul appartement. Un conteneur ressemble davantage à un appartement dans un immeuble déjà construit : il partage la structure du bâtiment, mais reste un espace fermé et indépendant des autres appartements. Cette image aide à retenir l'idée de partage du noyau, mais ne remplace pas l'explication technique ci-dessus : un conteneur reste un vrai mécanisme d'isolation, pas un simple dossier.

Comparer les deux, concrètement

Machine virtuelleConteneur Docker
Système d'exploitationComplet et indépendantPartagé avec la machine hôte
Taille typiquePlusieurs GoQuelques dizaines à centaines de Mo
Temps de démarrageDizaines de secondes à minutesEnviron une seconde
Niveau d'isolationTrès fort, matériel simuléFort, au niveau du système

Pourquoi ce n'est pas vraiment une compétition

Les machines virtuelles n'ont pas disparu : elles restent utiles quand une isolation la plus totale possible est nécessaire, ou quand un système d'exploitation entièrement différent doit être simulé. Docker, lui, s'est imposé pour un usage différent : faire tourner rapidement de nombreuses petites applications, de façon légère, reproductible, sans le poids d'un système d'exploitation complet à chaque fois. C'est exactement ce dont vous avez besoin pour ce parcours.

Vérifiez que vous avez compris

Pourquoi un conteneur Docker démarre-t-il en une seconde environ, alors qu'une machine virtuelle peut prendre une minute ou plus ?

Parce qu'un conteneur ne simule pas un ordinateur complet : il partage directement le noyau du système d'exploitation de la machine hôte, et n'a donc pas besoin de démarrer un système d'exploitation entier à chaque lancement, contrairement à une machine virtuelle.