Si vous êtes nouveau sur Docker et que vous souhaitez apprendre à créer votre premier conteneur Docker Windows Server, vous avez de la chance. Dans cet article, vous apprendrez à démarrer à partir de zéro ; aucune expérience préalable n'est nécessaire !
Pas un lecteur? Regardez cette vidéo connexe. Vous ne voyez pas la vidéo ? Assurez-vous que votre bloqueur de publicités est désactivé.Windows Server a parcouru un long chemin depuis Windows NT. Tout d'abord, nous pouvions virtualiser Windows Server, et maintenant nous pouvons même jouer dans le domaine qui était autrefois une fonctionnalité Linux exclusive :les conteneurs !
De nos jours, nous pouvons exécuter Windows sur un conteneur dans Docker aussi facilement qu'un conteneur basé sur Linux, mais comment ? Étant donné que Microsoft est un acteur assez récent sur le marché des conteneurs, le concept de Docker et de conteneurs est probablement nouveau pour de nombreuses boutiques Microsoft. La meilleure façon d'apprendre quelque chose est de le faire, alors faisons-le.
Pour cet article, nous allons partir d'un hôte Windows Server 2016 puisqu'il s'agit de la première version de Windows dans laquelle vous pouvez exécuter un véritable hôte Docker.
Télécharger et installer le module et le package Docker
Sur votre Windows Server 2016, rendez-vous dans la galerie PowerShell et téléchargez le module DockerMsftProvider. Il s'agit du module PowerShell qui contient tous les fournisseurs de packages qui vous permettront de télécharger et d'installer les utilitaires docker via le PowerShellGet Install-Package
commande.
PS> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
PS> Install-Module -Name DockerMsftProvider -Force
Une fois que vous avez installé le fournisseur, il est maintenant temps de l'utiliser à bon escient en installant la page Docker à partir de celui-ci.
PS> Install-Package -Name docker -ProviderName DockerMsftProvider -Force
WARNING: A restart is required to enable the containers feature. Please restart your machine.
Name Version Source Summary
---- ------- ------ -------
Docker 17.06.2-ee-6 DockerDefault Contains Docker EE for use with Windows Server.
Nous dirigerons l'avertissement que le programme d'installation du package nous indique et redémarrerons ensuite notre hôte Windows Server avec Restart-Computer -Force
.
Une fois que le serveur revient en ligne, vérifiez si le démon docker fonctionne correctement en vérifiant la version. Si vous récupérez une section client et une section serveur avec des informations de version pour chacun, vous êtes prêt à partir !
PS> docker version
Client:
Version: 17.06.2-ee-6
API version: 1.30
Go version: go1.8.3
Git commit: e75fdb8
Built: Mon Nov 27 22:46:09 2017
OS/Arch: windows/amd64
Server:
Version: 17.06.2-ee-6
API version: 1.30 (minimum version 1.24)
Go version: go1.8.3
Git commit: e75fdb8
Built: Mon Nov 27 22:55:16 2017
OS/Arch: windows/amd64
Experimental: false
Téléchargement de l'image de base
Vient ensuite la partie où vous avez besoin d'une image de base de conteneur. Le moyen le plus simple d'obtenir une image sur votre serveur est via le Docker Hub. Pour obtenir une image du Docker Hub, vous pouvez utiliser le pull
paramètre sur l'utilitaire docker.
Connexe :Comment créer une image Windows Docker avec Docker Build
Pour l'instant, je vais retirer une nouvelle copie de Windows Server Core. Une fois démarré, vous verrez la progression du téléchargement pour chaque image dans le référentiel défini.
PS> docker pull microsoft/windowsservercore
Using default tag: latest
latest: Pulling from microsoft/windowsservercore
3889bb8d808b: Downloading [========================> ] 2.019GB/4.07GB
cfb27c9ba25f: Download complete
Une fois l'image pour Windows téléchargée, le moteur Docker va alors extraire chaque image de son état compressé. Malheureusement, pour les images Windows Server, cela peut prendre un peu de temps. Mais une fois la ou les images extraites, vous avez créé votre premier conteneur Windows Server avec Docker !
Exécution de commandes dans le conteneur Docker Windows Server
La dernière pièce juste pour confirmer que le conteneur est intact et fonctionne consiste à lui envoyer une commande d'exécution à l'aide de docker run
. docker run
est une commande qui envoie une commande non interactive au conteneur. C'est essentiellement comme ouvrir cmd
et exécuter des commandes de cette façon.
Toute commande fonctionnera donc pour la façon dont nous verrons simplement si nous pouvons renvoyer le nom d'hôte du conteneur en utilisant le hostname
commande.
PS> docker run microsoft/windowsservercore
hostname69c7de26ea48
S'il renvoie autre chose qu'une erreur, vous avez terminé ! Vous avez maintenant une configuration d'hôte Windows Server 2016 avec le service Docker en cours d'exécution capable d'extraire et de pousser des images Docker vers/depuis le Docker Hub et d'exécuter le nombre de conteneurs que vous souhaitez.