Une machine virtuelle (VM) est une plateforme logicielle qui simule (émule) un ordinateur complet à l'intérieur d'un autre. Elle encapsule son propre système d'exploitation (OS) et des ressources matérielles virtualisées (CPU, RAM, disque). Un hyperviseur gère l'allocation de ces ressources à chaque VM, permettant l'exécution de multiples OS sur une seule machine physique.
Docker est une plateforme logicielle qui facilite la création, le déploiement et la gestion d'applications en utilisant des conteneurs. Un conteneur contient tout le nécessaire pour exécuter une application : le code, un environnement d'exécution, les librairies et les dépendances.
Les conteneurs partagent le noyau du système d'exploitation de la machine hôte. Il sont donc plus performants et consomment moins de ressources que les VM.
| Critère | Docker (Conteneur) | Machine virtuelle (VM) | Avantage pour |
|---|---|---|---|
| Système d'exploitation | Partagé avec l'hôte | Propre OS pour chaque VM | Docker |
| Démarrage | Rapide (secondes) | Lent (minutes) | Docker |
| Consommation de ressources | Faible (MB) | Élevée (GB) | Docker |
| Sécurité (Isolation des processus) | Au niveau du processus | Au niveau de l'OS | VM |
| Taille de l'image | Faible | Importante | Docker |
Une Image Docker est un modèle en lecture seule qui sert à créer un conteneur. Elle contient le système de fichiers de l'application, ses dépendances et les configurations.
Un Conteneur Docker est une instance d'exécution d'une image. Il peut être démarré, arrêté, déplacé, et supprimé. Il constitue un environnement isolé et portable.
Docker Hub est le service en ligne officiel de Docker. il permet le stockage, la publication, et le partage d'images Docker.
Content type
Image
Digest
sha256:60ded8d94…
Size
92.5 MB
Last updated
about 1 year ago
docker pull dr34fr/getting-started-app