Guide rapide pour bien débuter avec les conteneurs Windows Server 2016 et Docker
Entre la Technical Preview 5 de Windows Server et les versions précédentes, un certain nombre de changements ont eu lieu, notamment au niveau de la gestion des conteneurs Windows & Hyper-V. C’est donc l’occasion de remettre au goût du jour un petit guide en mode pas à pas pour démarrer avec les conteneurs Docker sous Windows Server 2016.
Base de départ : un Windows Server 2016 TP5 ou ultérieur installé et opérationnel. Hyper-V installé n’est pas obligatoire mais néanmoins nécessaire pour tester les conteneurs Hyper-V. Sans Hyper-V, seuls les conteneurs Windows Server sont testables.
Etape 1 — Installation des fonctionnalités de gestion de conteneurs Windows / Hyper-V
Install-WindowsFeature containers
Install-PackageProvider ContainerImage -Force
Find-ContainerImage
Install-ContainerImage -Name NanoServer
Install-ContainerImage -Name WindowsServerCore
Informations complémentaires sur la gestion des images d’OS Windows pour les conteneurs : https://msdn.microsoft.com/en-us/virtualization/windowscontainers/management/manage_images
Etape 2 — Installation de Docker
Invoke-WebRequest https://aka.ms/tp5/Update-Container-Host -OutFile update-containerhost.ps1
.\update-containerhost.ps1
Docker images
Etape 3 — Tagguer les images
docker run -it windowsservercore cmd –> msg erreur, c’est normal, il faut tagguer l’image en lastest
docker tag <image id> windowsservercore:latest
docker tag <image id> nanoserver:latest
Etape 4 — Créer une nouvelle image
Docker run -it windowsservercore cmd
[faire les modifs dans le conteneurs Windows]
docker commit <image id> windowsserverstan
docker images
Etape 5 — Supprimer une image Docker sur Windows Server
docker rmi windowserverstan
Etape 6 — Rechercher dans le Docker Hub des images Windows
docker search :windowsservercore
docker search :nanoserver
docker search *
docker pull microsoft/aspnet
docker images
— Informations complémentaires – Réseau et conteneurs
Source : https://msdn.microsoft.com/en-us/virtualization/windowscontainers/management/container_networking
Par défaut : configuration NAT
Fichier de config Notepad c:\programdata\docker\runDockerDaemon.cmd.
docker network ls
Get-ContainerNetwork |fl ==> équivalent plus riche en PowerShell
docker network inspect nat
— Port Mapping — Cet exemple créé un mapping statique entre le port 8082 du host container et le port 80 du conteneur.
docker run -it –name=DemoNat -p 8082:80 windowsservercore cmd
Note : en TP5, un seul réseau NAT est possible. En TP5, une règle globale de pare-feu est automatiquement créée pour tous les mapping de ports statiques
docker network create -d nat MyNatNetwork ==> valable build post TP5
docker run -it –net=MyNatNetwork windowsservercore cmd
docker run -it –net=MyNatNetwork –ip=10.80.120.40 windowsservercore cmd
Get-ContainerNetworkAdapter -ContainerName “happy_swanson”
PowerShell For Docker : http://aka.ms/windowscontainers/powershell
En espérant que ce guide rapide vous aidera à bien démarrer sur Docker et les conteneurs Windows Server 2016.