Les containers dans Windows 2016 1

Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur virtuel, qui pourra être exécuté sur n’importe quel serveur Windows 2016. Sur Windows 2016 Docker est une fonctionnalité nommée « container ».

Voyons par exemple comment monter un container exécutant un serveur IIS au sein d’un hyperviseur Windows 2016 TP3:

Il faut tout d’abord télécharger un script de configuration chez MS au traver de la commande PowerShell suivante:

Une fois téléchargé on l’exécute afin de créer une machine virtuelle qui sera notre serveur de container:

Ce script télécharge une image de Windows 2016 TP3 préconfigurée. Comme cela est un peu long, il est possible de télécharger cette image et de donner au script d’installation le chemin sur un disque local

.\New-ContainerHost.ps1 -VmName CHostDocker -Password P@ssw0rd -vhdpath « S:\WindowsServer_en-us_TP3_Container_VHD.zip » -SwitchName SW1

DK1

Des lors la VM est disponible et accessible au travers d’une console RDP:

DK2

Arrivé a ce niveau on a le clavier en querty ce qui n’est pas pratique : un ctrl-alt-fin permet de faire apparaître le gestionnaire des taches ( notez qu’il n’y a pas d’interface graphique…)

DK4

Avec le task manager un lance une console PowerShell pour executer les commandes suivantes:

Set-WinUserLanguageList fr-FR -Force

A partir de la 2 méthodes sont disponibles pour créer un container:

PowerShell

Docker.exe

Il faut savoir que les containers créé par PowerShell de sont pas manageable par docker.exe et vice-versa.

Ici nous traiterons la méthode PowerShell:

Les containers sont basés sur des images. L’image de base fournie se nomme WindowsServerCore.

Dans un premier temps on créé le container basé sur une image Windows 2016: On peut récupérer la liste des images avec un Get-ContainerImage

DK5

Notre container sera connecté au réseau au travers d’un virtual-switch contenu dans notre VM Hôte qui fait par défaut du NAT (un VSwitch dans une VM, ça fait bizarre la première fois 🙂 ).

Le nom par défaut du VSwitch est « Virtual Switch « :

DK6

On créé donc ce nouveau container:

DK7

Reste a démarrer ce container:

DK8

Une fois démarré il ne reste plus qu’a ouvrir une session dessus:

DK9

On est bien es remote session PowerShell !

DK10

L’adresse IP de notre container en 172.16.0.2 est bien différente de notre hôte en 172.16.0.1 qui sert de passerelle naté !

Maintenant installons IIS:

DK11

On installe IIS avec la commande Install-WindowsFeature -Name Web-Server

Le serveur web installé , on créé explicitement une règle de translation:

DK12

Puis on ouvre le pare-feu pout laisser passer le protocole http:

DK13

Voila ! le container IIS est disponible:

DK14

Ce qui est intéressent c’est le temps de démarrage d’un container : moins de 6 secondes sur un simple PC

DK16

Redémarrer un serveur web devient maintenant acceptable 🙂

One comment on “Les containers dans Windows 2016

  1. Pingback: Les containers dans Windows 2016 (Suite) - Vecteur IT

Leave a Reply