web-dev-qa-db-fra.com

Docker: Pourquoi utiliser des conteneurs Linux sous Windows?

J'utilise Win 10 Pro N (version 1709) en tant qu'ordinateur de développement et Windows Server 2016 Standard (version 1607) en tant que serveur de production.

Je développe actuellement une application ASP.NET Core 2 avec MongoDb comme base de données.

Il y a quelques jours, je suis tombé sur l'idée de lancer MongoDb en tant qu'image Docker.

À ce jour, je n'ai aucune expérience de Docker, mais j'ai réussi à passer des conteneurs Linux (par défaut) aux conteneurs Windows sur les machines Windows.

Était-ce une bonne décision? Ou y a-t-il une raison pour laquelle je devrais utiliser des conteneurs Linux plutôt que des conteneurs Windows dans mon scénario?

Qu'est-ce que par exemple si je décide de déployer mon application sur un serveur Linux à un moment donné? Dans ce cas, serait-il plus sage de commencer par les conteneurs Linux dès le début?

18
Ingmar

Si vous souhaitez déployer sur Linux, je vous conseillerais d'utiliser des conteneurs Linux puisque vous testez ensuite une configuration plus similaire et êtes plus susceptible de détecter des problèmes qui figureront également dans votre déploiement final.

En dehors de cela, la technologie de conteneur Linux est plus mature et mieux prise en charge que les conteneurs Windows.

11
herm

Docker ne concerne pas la virtualisation mais davantage l’isolation.

Un conteneur Windows s'exécutera sur un hôte Windows

Un conteneur Linux s'exécutera sur un hôte Linux

Ensuite, certaines personnes ont voulu exécuter le conteneur Linux sur Windows

  • Vous devez d’abord créer une machine virtuelle Linux sur Windows pour exécuter le conteneur.
  • Maintenant vous pouvez utiliser LinuxKit pour exécuter le conteneur mais c'est toujours une VM légère

Ensuite, certaines personnes ont voulu exécuter le conteneur Windows sur Linux

  • Vous deviez d’abord créer une machine virtuelle Windows sur Linux pour exécuter le conteneur.
  • Maintenant, vous ne pouvez plus rien utiliser à partir d'aujourd'hui

Le mieux est donc de commencer par un conteneur destiné à vos serveurs de production.

33
Mumrah81