Oui, pour moi les machines virtuelles et les conteneurs permettent tous deux de faire de la virtualisation, mais au niveau de deux interfaces différentes :
Avec une machine virtuelle, l'interface est entre le processeur et la machine et le logiciel, donc c'est l'ISA (Instruction Set Architecture) du processeur (*) et la spécification du système d'entrées/sorties. L'invité est un OS et des applications, le tout compilé pour la machine en question.
Avec un conteneur, l'interface est entre le noyau et l'espace utilisateur, donc c'est l'ABI noyau. L'invité est un environnement utilisateur, donc le système de fichier (d'une distribution souvent minimaliste) et ses processus et structures de données. L'invité doit être un environnement utilisateur adapté au noyau et à la machine hôte : donc compilé pour la bonne architecture, le bon noyau et la bonne ABI noyau.
Dans les deux cas, on obtient une isolation entre invités et entre invités et hôte.
(*) ISA du processeur simulé par la machine virtuelle (qui n'est pas forcément le même que celui de la machine hôte !)
[^] # Re: "Container" et machine virtuelle ?
Posté par ChrisJ (site web personnel) . En réponse à la dépêche La virtualisation pour les nuls et autres enjeux autour des datacenters. Évalué à 3.
Oui, pour moi les machines virtuelles et les conteneurs permettent tous deux de faire de la virtualisation, mais au niveau de deux interfaces différentes :
Dans les deux cas, on obtient une isolation entre invités et entre invités et hôte.
(*) ISA du processeur simulé par la machine virtuelle (qui n'est pas forcément le même que celui de la machine hôte !)