En utilisant des technologies de virtualisation de conteneurs relativement nouvelles, les entreprises et les ingénieurs ont le choix : installer les systèmes de conteneurs directement sur du matériel nu ou les installer dans un environnement de machine virtuelle. Le déploiement à l'intérieur d'une machine virtuelle peut offrir plus de flexibilité, mais il peut également nécessiter plus de ressources ou limiter les capacités.
Lors du déploiement de conteneurs dans une VM, les entreprises devront peut-être investir dans des quantités spécifiques de puissance de traitement, de partitions de mémoire ou d'autres ressources. Cependant, cela peut constituer un moyen d’intégrer plus efficacement les ressources du conteneur dans un système virtuel plus vaste.
De plus, un déploiement de VM peut être la seule option de compatibilité pour différents types de systèmes de cloud public et hybride.
D’un autre côté, certains experts soulignent que les systèmes de conteneurs modernes isolent efficacement les instances et fournissent les bons types d’implémentation pour l’emploi sans système d’exploitation, et que cela peut être beaucoup plus économe en ressources et ajouter certains types de capacités. L'utilisation de systèmes nus peut éliminer certains goulots d'étranglement et aider les processus à s'exécuter en dehors des anciens systèmes de machines virtuelles, qui peuvent ne pas être très performants par rapport à d'autres aspects du système. Cela, ajouté aux ressources nécessaires pour s'exécuter dans une machine virtuelle, amène certains techniciens à se demander pourquoi les ingénieurs choisiraient de déployer des conteneurs dans une machine virtuelle. En fin de compte, la décision d’exécuter dans un environnement VM peut être liée à des systèmes existants loin d’être optimaux et à une série de considérations pratiques.
En général, l'utilisation de conteneurs sans système d'exploitation est souvent un idéal ou un objectif que les entreprises considèrent lorsqu'elles adoptent la virtualisation des conteneurs, dans le cadre d'une mise à niveau continue des systèmes informatiques qui peuvent fonctionner plus efficacement dans des configurations hautement virtualisées.