web-dev-qa-db-fra.com

Comment exécuter Docker dans un environnement AWS Windows Server?

Chose que j'avais essayée:

Boîte à outils sur Windows Server 2012 R2. Hyper-V désactivé pour autoriser virtualbox. Je ne peux pas activer la virtualisation car elle se trouve sur le bios physique.

Docker EE installé sur Windows Server 2016 avec conteneurs EC2. Installé correctement. Le démon est en cours d'exécution. MAIS, je ne peux pas tirer une seule image à côté du bonjour-monde: nanoserver. J'ai donc traqué le windowsservercore et le nanoserver, ne fonctionne toujours pas car ils sont obsolètes. Le repo de la personne frizzm sur Docker.com ne fonctionne pas lorsque vous essayez de le retirer.

Redémarré avec une nouvelle instance de Windows Server 2016. J'ai désactivé Hyper-V et installé ToolBox. Ça ne marche pas.

Comment exécuter Docker dans un environnement de serveur Windows dans AWS?

Tous les vids/tuts semblent si simples, mais je ne peux certainement pas le faire fonctionner. Je suis perdu.

11
J-Roel

En fait, vous n'avez pas besoin d'installer Docker pour Windows (anciennement connu sous le nom de Docker Toolbox) pour utiliser Docker sur Windows Server.

Tout d'abord, il est important de comprendre qu'il existe deux types de conteneurs différents sur la plate-forme Windows Server 2016: les conteneurs Windows et les conteneurs Hyper-V.

  • Conteneurs Windows - s'exécute au-dessus du noyau Windows Server, aucune machine virtuelle utilisée ici
  • Conteneurs Hyper-V - conteneurs de machines virtuelles, chacun avec son propre noyau

Il existe également une troisième option qui s'exécute au-dessus d'Hyper-V, appelée Conteneurs Linux sur Windows (LCOW), mais nous n'entrerons pas dans le détail, car il semble que vous posiez spécifiquement des questions sur les conteneurs Windows.

Voici quelques options que vous pouvez consulter:

Instances Bare Metal sur AWS

Si vous devez absolument exécuter des conteneurs Windows Hyper-V sur AWS ou si vous souhaitez exécuter des conteneurs Linux avec Docker pour Windows, vous pouvez provisionner le i3.metal Type d'instance EC2, qui est une instance bare metal. Vous pouvez déployer Windows Server 2016 sur le i3.metal type d'instance, installez Hyper-V et installez Docker pour Windows. Cela vous donnera la possibilité d'exécuter à la fois des conteneurs Linux (sous un invité Hyper-V Linux), des conteneurs Hyper-V et des conteneurs Windows.

AMI optimisée pour ECS

Amazon fournit une image Amazon Machine Image (AMI) à partir de laquelle vous pouvez déployer des instances EC2, qui contient des optimisations pour Amazon Elastic Container Service (ECS). ECS est un service de clustering basé sur le cloud qui vous permet de déployer des applications basées sur des conteneurs sur un ensemble de nœuds de travail exécutés dans EC2.

En règle générale, vous utiliserez ECS et l'AMI optimisée ECS pour créer un cluster à l'échelle de la production sur lequel déployer vos applications.

Windows Server 2016 avec conteneurs AMI

Il existe également une AMI " Windows Server 2016 avec conteneurs " disponible, qui n'est pas la même que l'AMI optimisée ECS, mais inclut la prise en charge de l'exécution Conteneurs Docker sur Windows Server 2016. Tout ce que vous avez à faire est de déployer une nouvelle instance EC2, à l'aide de cette AMI, et vous pouvez vous y connecter et commencer à émettre des commandes Docker pour lancer des conteneurs Windows. Cette option est probablement l'option la plus simple pour vous, si vous êtes nouveau dans les conteneurs Windows.

7
Trevor Sullivan

Les instances EC2 ne permettent pas la virtualisation imbriquée (les instances EC2 sont elles-mêmes des machines virtuelles). Docker pour Windows utilise Hyper-V sous le capot, et Docker Toolbox utilise Virtualbox sous le capot, donc aucune de ces solutions n'est viable.

Même si vous pouviez les exécuter sur une instance Windows EC2, les performances ne seraient pas excellentes en raison du fait que Docker pour Windows monte les fichiers dans le Docker VM via Samba, qui est pas très vite.

Si vous souhaitez exécuter des conteneurs Linux, vous devez probablement les exécuter sous Linux. La configuration est très rapide et toutes les commandes Docker auxquelles vous êtes habitué avec Docker pour Windows devraient toujours fonctionner.

0
cweagans

Il est possible d'exécuter Docker sur Windows. Exécutez la commande suivante pour le configurer.

docker-machine create --driver amazonec2 aws01

Ce que cette commande fait est de créer une nouvelle instance linux EC2 et connecte docker à cette instance linux. Lorsque les commandes docker sont exécutées sur votre instance Windows, les commandes docker sont en fait envoyées à l'instance Linux, exécutées et les résultats sont renvoyés à l'instance Windows EC2.

Voici la documentation de Docker à ce sujet. J'espère que ça aide. https://docs.docker.com/machine/drivers/aws/#aws-credential-file

0
user2981810