web-dev-qa-db-fra.com

Quelle est la différence entre Docker pour Windows et Docker sous Windows?

Docker sous Windows semble être ce qui sera intégré à Windows Server 2016 ? et prend en charge l'exécution de Windows dans un conteneur Docker et l'utilisation de Windows comme hôte de conteneur Docker. Est-ce que cela prend en charge Linux? Je ne pense pas, je pense qu'il ne prend en charge que l'exécution des conteneurs Windows Docker. Cela semble également être maintenu par Microsoft.

Docker pour Windows semble être une installation distincte créée par l'équipe Docker pour apporter Linux Docker à Windows. Windows peut donc être l'hôte Docker, mais tous les conteneurs ne sont que des conteneurs Linux normaux. Cela prend-il en charge les conteneurs Windows? Je ne pense pas, je pense qu'il ne prend en charge que l'exécution de conteneurs Linux Docker. Cela semble également être maintenu par Docker.

Une autre note intéressante est que Docker Tools for Visual Studio semble prendre uniquement en charge Docker Desktop pour Windows et non Docker sous Windows .

Ce que je recherche vraiment, ce sont les différences déclarées entre les deux, une sorte de bonne comparaison. Quelles caractéristiques tentent chacune d'atteindre, où sont-elles similaires, où sont-elles différentes? Seront-ils toujours différents ou se réuniront-ils jamais?

21
Aaron Stainback

Docker sous Windows est un moyen familier de désigner simplement le moteur Docker fonctionnant sous Windows. Je trouve utile de penser à cela comme un hôte de conteneur Windows, donc oui conteneurs Windows uniquement. Ce serait ce que vous exécuteriez sur une machine Windows Server 2016. Alors peut-être qu'un meilleur nom est Docker pour Windows Server que je crois que les gens ont également utilisé. Je préfère toujours un hôte de conteneur Windows. Ce qui signifie qu'il n'a que le moteur Docker à la fin de la journée, n'a même pas besoin d'avoir de clients Docker (Docker CLI, docker-compose, etc.).

Docker Desktop pour Windows est un produit destiné à l'exécution les conteneurs Linux et Windows sous Windows. C'est non destiné à un environnement de production, et est plutôt destiné à un SKU de bureau/client de Windows, d'où l'exigence de Windows 10. Vous pouvez donc penser à cela comme Docker pour Windows 10. Parce que DfW peut exécuter les deux types de conteneurs, il existe différentes configurations qu'il installe sur votre machine:

  • Lors de l'utilisation de conteneurs Linux, DfW crée un MobyLinuxVM avec Hyper-V à l'intérieur duquel il exécute des conteneurs Linux, de manière transparente, comme s'ils s'exécutaient sur l'hôte Windows 10.
  • Lorsque vous utilisez des conteneurs Windows, DfW installe les mêmes composants que Docker sur Windows afin que vous ayez un hôte de conteneur Windows. Vous avez maintenant la configuration du moteur Docker Windows. Cela vous permet ensuite d'exécuter des conteneurs Windows sur une référence client Win 10.

Théoriquement, vous pouvez installer DfW sur Windows Server, je n'ai pas essayé, donc je ne sais pas si cela échouerait, mais pourquoi voudriez-vous exécuter des conteneurs Linux sur un hôte Windows en production? En production, vous auriez des hôtes de conteneurs Linux qui exécutent des conteneurs Linux et des hôtes de conteneurs Windows qui exécutent des conteneurs Windows, cela éviterait les frais généraux et simplifierait les choses.

9
Wes