Docker et machines virtuelles sont deux manières de déployer des environnements séparés pour l’exécution d’applications, mais ils fonctionnent de manière différente.
Une machine virtuelle crée un système d’exploitation complet, qui imite le matériel d’un ordinateur physique. Cela peut engendrer une utilisation inutile de ressources systèmes, car chaque machine virtuelle exécute une copie complète de l’OS.
Docker, en revanche, est une technologie de conteneurisation qui permet d’isoler des applications dans des “conteneurs” en partageant un seul système d’exploitation sous-jacent. Chaque conteneur contient une application et toutes ses dépendances, mais ils partagent le noyau du système d’exploitation.
En bref, la différence principale est que Docker est généralement plus efficace en termes de ressources car il n’y a pas besoin de créer plusieurs systèmes d’exploitation. De plus, Docker peut être plus rapide à démarrer car il n’y a pas de processus de démarrage complet de l’OS comme on le voit avec une machine virtuelle.