Les conteneurs et les machines virtuelles font tous deux partie des systèmes de virtualisation, où les environnements matériels sont résumés en une série de composants virtuels ou logiques. Cependant, les conteneurs et les machines virtuelles sont des technologies différentes et font partie de systèmes de virtualisation différemment agencés.
Avec un système de machines virtuelles, un hyperviseur se trouve au-dessus des architectures matérielles nues et les machines virtuelles sont provisionnées à partir de ce système. Les machines virtuelles sont planifiées individuellement avec leurs propres systèmes d'exploitation et charges de travail.
Avec un système de conteneur, le système d'exploitation est installé, puis les instances de conteneur partagent ce système d'exploitation hôte.
La principale différence est que, comme les conteneurs ne disposent pas chacun de leur propre système d’exploitation, ils sont moins gourmands en ressources. Cela conduit aux opportunités offertes par la technologie des conteneurs. Les entreprises peuvent faire plus avec le système, car elles ne sont pas obligées de donner à chaque instance de conteneur son propre système d'exploitation. L’architecture partagée des conteneurs contribue en grande partie à l’attrait de ces systèmes alternatifs.
D’un autre côté, la nature insulaire des machines virtuelles, où les machines virtuelles clonées peuvent fonctionner indépendamment les unes des autres, offre des résultats plus redondants et plus sûrs aux entreprises. Les experts parlent d'un point de défaillance unique qui constitue une vulnérabilité pour les systèmes de conteneurs. De nombreux types de problèmes de sécurité concernant les conteneurs vont de pair avec cette philosophie – par exemple, l’idée est qu’une seule attaque de malware peut plus facilement détruire l’ensemble du système de conteneurs.
Les technologies de conteneurs et de machines virtuelles sont relativement nouvelles, même si les systèmes de conteneurs ont évolué plus récemment comme alternative, et ces deux technologies sont innovées pour produire de nouveaux types de résultats pour les systèmes informatiques.