Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
Cette rubrique décrit certaines des principales similitudes et différences entre les conteneurs et les machines virtuelles, et quand vous souhaiterez peut-être utiliser chacune d’elles. Les conteneurs et les machines virtuelles ont chacun leur utilisation, en fait, de nombreux déploiements de conteneurs utilisent des machines virtuelles comme système d’exploitation hôte plutôt que de s’exécuter directement sur le matériel, en particulier lors de l’exécution de conteneurs dans le cloud.
Pour obtenir une vue d’ensemble des conteneurs, consultez Windows et conteneurs.
Architecture de conteneur
Un conteneur est un silo isolé et léger pour l’exécution d’une application sur le système d’exploitation hôte. Les conteneurs s’appuient sur le noyau du système d’exploitation hôte (qui peut être considéré comme la plomberie enterrée du système d’exploitation) et contiennent uniquement des applications et certaines API et services de système d’exploitation légers qui s’exécutent en mode utilisateur, comme illustré dans ce diagramme.
Architecture de machine virtuelle
Contrairement aux conteneurs, les machines virtuelles exécutent un système d’exploitation complet, y compris son propre noyau, comme illustré dans ce diagramme.
Conteneurs et machines virtuelles
Le tableau suivant présente quelques-unes des similitudes et des différences de ces technologies complémentaires.
| Caractéristique | Machine virtuelle | Conteneur |
|---|---|---|
| Isolement | Fournit une isolation complète du système d’exploitation hôte et d’autres machines virtuelles. Cela est utile lorsqu’une limite de sécurité forte est essentielle, comme l’hébergement d’applications provenant d’entreprises concurrentes sur le même serveur ou le même cluster. | Fournit généralement une isolation légère de l’hôte et d’autres conteneurs, mais ne fournit pas de limite de sécurité aussi forte qu’une machine virtuelle. (Vous pouvez augmenter la sécurité en utilisant Hyper-V mode d’isolation pour isoler chaque conteneur dans une machine virtuelle légère). |
| Système d’exploitation | Exécute un système d’exploitation complet, y compris le noyau, nécessitant donc davantage de ressources système (processeur, mémoire et stockage). | Exécute la partie en mode utilisateur d’un système d’exploitation et peut être adaptée pour contenir uniquement les services nécessaires à votre application, en utilisant moins de ressources système. |
| Compatibilité des invités | Exécute uniquement n’importe quel système d’exploitation à l’intérieur de la machine virtuelle. | S’exécute sur la même version du système d’exploitation que l’hôte (Hyper-V isolation vous permet d’exécuter des versions antérieures du même système d’exploitation dans un environnement de machine virtuelle légère). |
| Déploiement | Déployer des machines virtuelles individuelles à l’aide de Windows Admin Center ou de Hyper-V Manager ; déployez plusieurs machines virtuelles à l’aide de PowerShell ou de System Center Virtual Machine Manager. | Déployer des conteneurs individuels à l’aide de Docker via la ligne de commande ; déployez plusieurs conteneurs à l’aide d’un orchestrateur tel qu’Azure Kubernetes Service. |
| Mises à jour et mises à niveau du système d’exploitation | Téléchargez et installez les mises à jour du système d’exploitation sur chaque machine virtuelle. L’installation d’une nouvelle version du système d’exploitation nécessite une mise à niveau ou souvent la création d’une machine virtuelle entièrement nouvelle. Cela peut prendre du temps, en particulier si vous avez beaucoup de machines virtuelles. | La mise à jour ou la mise à niveau des fichiers du système d’exploitation au sein d’un conteneur est la même :
|
| Stockage persistant | Utilisez un disque dur virtuel (VHD) pour le stockage local pour une seule machine virtuelle ou un partage de fichiers SMB pour le stockage partagé par plusieurs serveurs. | Utilisez des disques Azure pour le stockage local pour un nœud unique, ou des fichiers Azure (partages SMB) pour le stockage partagé par plusieurs nœuds ou serveurs. |
| Équilibrage de charge | L’équilibrage de charge des machines virtuelles déplace les machines virtuelles en cours d’exécution vers d’autres serveurs dans un cluster de basculement. | Les conteneurs eux-mêmes ne se déplacent pas ; Au lieu de cela, un orchestrateur peut démarrer ou arrêter automatiquement des conteneurs sur des nœuds de cluster pour gérer les modifications de charge et de disponibilité. |
| Tolérance de panne | Les machines virtuelles peuvent basculer vers un autre serveur d’un cluster, avec le redémarrage du système d’exploitation de la machine virtuelle sur le nouveau serveur. | Si un nœud de cluster échoue, tous les conteneurs s’exécutant dessus sont rapidement recréés par l’orchestrateur sur un autre nœud de cluster. |
| Réseautage | Utilise des cartes réseau virtuelles. | Utilise une vue isolée d’une carte réseau virtuelle, fournissant un peu moins de virtualisation ; ce qui implique que le pare-feu de l’hôte est partagé avec les conteneurs, utilisant ainsi moins de ressources. Pour plus d’informations, consultez la mise en réseau de conteneurs Windows (). |