72 votes

Si Docker s'exécute nativement sur Windows, pourquoi a-t-il besoin d'hyper-v

Si le Panneau de la communauté fonctionne nativement sur windows, alors pourquoi est-il besoin d'Hyper-v? I. E., n'est pas natif implique que Docker-Moteur peut exécuter des instructions sur windows? Il me semble qu'il commence encore une machine virtuelle Linux et fonctionne avec de qui.

Pour moi, il semble que docker-boîte à outils utilise un oracle hyper-visière linux en cours d'exécution, tandis que le Panneau de la communauté utilise la technologie Hyper-V sous linux. Est-il une autre différence importante que je suis dominant?

Est-ce correct? Suis-je comprendre le mot "indigène", à tort, docker mis-à l'aide de la parole, ou est-il un autre aspect que je suis absent?

La raison pour laquelle je te demande, c'est parce que j'ai remarqué que vous n'utilisez pas de menu fixe-machine avec l'édition de la communauté, et je me demandais pourquoi. Est docker-machine, la chose qui s'exécute natiely sur windows, tandis que le Panneau Moteur ne l'est pas? Je pense que le mot docker est de plus en plus chargé et peut-être conduit à la confusion dans ce cas :)

Merci à l'avance!

43voto

BMitch Points 3744

Le panneau de support de Windows a plusieurs variantes:

  1. Docker boîte à outils qui comprend le Panneau de la Machine qui va faire tourner un boot2docker image à l'intérieur de VirtualBox. Ce sont des conteneurs Linux en cours d'exécution avec un noyau Linux à l'intérieur de la VM. C'était à l'origine la seule option pour les utilisateurs de Windows.

  2. Docker pour Windows à l'aide de la technologie Hyper-V pour exécuter le Moby VM, basé sur LinuxKit, le fonctionnement de Linux images. LinuxKit fournit un conteneur à base de système d'exploitation Linux, et il y a quelques intégration pour le faire apparaître moins comme une machine virtuelle pour l'utilisateur final, par exemple, vous pouvez utiliser 127.0.0.1 à la place de l'adresse IP de l'VirutalBox VM. Si vous avez des Hyper-V disponible et que vous voulez exécuter conteneurs Linux sur Windows, c'est l'option préférée.

  3. Windows Server Conteneurs qui exécuter des binaires pour Windows sur le même système d'exploitation hôte, semblable à la façon dont Linux conteneurs sur un OS Linux n'a pas besoin d'une machine virtuelle.

  4. Hyper-V les Contenants qui exécuter des binaires pour Windows à l'intérieur d'une autre VM pour une isolation supplémentaire.

Vous pouvez lire plus sur les deux dernières options dans Microsoft docs.

Ce qui est important à noter est que lorsque vous installez le Panneau pour Windows sur un serveur pris en charge, à l'instar de 2016, vous avez des options 2, 3 et 4, que vous pouvez basculer entre les deux. Pour Linux et Windows conteneurs, il y a un interrupteur dans les paramètres qui affecte tous les contenants et les commandes. Et entre Windows Server Conteneurs et Hyper-V conteneurs, il y a un --isolation option sur l' docker run de la ligne de commande. Donc, je crois que vous êtes tenus d'avoir Hyper-V support pour le couvercle 2 et la 4 même si vous voulez l'option 3.

9voto

dk. Points 302

Windows prend en charge les Processus "d'Isolement" en plus de "Hyper-v à l'Isolement".

L'isolation des processus de conteneurs sur Windows de fonctionner sans une couche supplémentaire de virtualisation (similaire à ce que vous peut être utilisé avec menu fixe sur linux); je crois que c'est ce que l'OP est à la recherche pour en se référant à des "indigènes" des conteneurs.

L'isolation des processus de soutien est encore assez nouveau, mais les dernières versions de Windows Server 2019 et Windows 10 peut exécuter windows conteneurs sans la surcharge d'un serveur hyper-v virtual host. Une chose à noter est que votre windows conteneur d'image de base, version du noyau doit correspondre à la version du noyau sur votre machine hôte. De sorte que vous ne serez probablement pas en mesure de simplement utiliser exactement les mêmes récipients que vous avez être en cours d'exécution sur hyper-v.

Voici un Windows conteneur de compatibilité de version de la table qui met l'accent sur l'hôte OSs soutien process ou hyperv de l'isolement.

Même si ce^ page n'est pas de l'indiquer, Windows 10 mise à Jour de 1809 est la première mise à jour pour soutenir le Panneau d'isolation des processus comme indiqué dans le Panneau de Moteur de Notes de publication.

9voto

Lea Klein Points 97

Support de Docker sur Windows n'est pas natif, Docker a été écrit pour fonctionner sur Linux initialement. Donc, les exigences pour l'exécution de Docker CE sur Windows sont:

  1. La virtualisation doit être activé depuis le menu fixe-ce qui crée une VM sur Hyper-V. Depuis tous les hyperviseurs besoin de virtualisation de matériel à être activé, Hyper-V dans cette affaire n'est pas exceptionnel. Le menu fixe pour le programme d'installation de Windows va activer Hyper-V pour vous, si nécessaire, puis redémarrez votre ordinateur.

  2. Pour les anciens systèmes Windows qui ne prennent pas en charge la virtualisation de matériel, il est recommandé d'utiliser Docker boîte à outils qui utilise Oracle Virtualbox pour faire tourner les machines virtuelles qui sera l'hôte de conteneurs docker au lieu de Hyper-V.

3voto

Neha Points 849

Les conteneurs Windows Server nécessitent une isolation Hyper-V sur Windows 10 afin de fournir aux développeurs la même version du noyau et la même configuration que celles utilisées en production, vous trouverez plus d'informations à ce sujet sur la page À propos des conteneurs Windows .

0voto

Vice Points 142

Ma compréhension est que Hyper-V est l'implémentation par Windows d'une solution de machine virtuelle.

Docker fonctionnant sur Windows de manière `` native '' implique qu'il ne nécessite pas de logiciel tiers tel que virtualbox, vmware fusion ou parallels installé pour fonctionner, il utilise plutôt le logiciel Hyper-V fourni avec Windows 10.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X