Présentation
Cet article est une introduction de base à l'utilisation de Windows Server 2016 avec des conteneurs et Docker sur le cloud Atlantic.Net. Docker a d'abord popularisé les conteneurs sur Linux, mais maintenant avec Windows 2016, les conteneurs Windows sont désormais également pris en charge de manière native. Cela signifie que vous pouvez créer votre application dans un conteneur et l'expédier dans vos environnements de développement et de production en sachant qu'elle fonctionnera et s'exécutera exactement de la même manière sur tous les appareils.
Dans ce didacticiel, nous allons déployer une page Web dans un conteneur IIS à partir d'une image de conteneur IIS distribuée par Microsoft. Commençons par un rapide tutoriel !
Déploiement d'un serveur cloud Atlantic.Net
Tout d'abord, nous devons déployer un nouveau Windows 2016 avec des conteneurs VPS du cloud Atlantic.Net.
- Connectez-vous à https://cloud.atlantic.net.
- Cliquez sur "+ Ajouter un serveur ."
- Sur la page "Ajouter un serveur", saisissez ce qui suit :
- Nom du serveur :le nom que vous souhaitez donner à votre serveur. Par exemple, "Docker Windows 2016 ."
- Emplacement :le centre de données dans lequel vous souhaitez créer votre serveur.
- Tapez :sous "Systèmes d'exploitation ", sélectionnez "Windows », puis sélectionnez « Centre de données 2016 (avec conteneurs/Docker) ."
- Durée :souhaitez-vous une tarification mensuelle à la demande, ou souhaitez-vous un engagement d'un ou trois ans pour ce serveur ?
- Forfait :nous recommandons au moins un G2,2 Go taille du plan pour les serveurs Windows, en raison des besoins en mémoire.
- Activer les sauvegardes :Souhaitez-vous que votre serveur soit sauvegardé quotidiennement ?
- Cliquez sur "Créer un serveur ” pour commencer le provisionnement du serveur. La page suivante affichera vos identifiants de connexion pour le nouveau serveur. Veuillez les enregistrer quelque part afin de pouvoir les utiliser pour vous connecter. Remarque :les informations d'identification vous seront également envoyées par e-mail .
Connexion à Windows 2016
Une fois le serveur provisionné, vous devrez vous connecter à Windows 2016. Cliquez ici pour savoir comment vous connecter à distance.
Vérification de votre version de Docker
Assurez-vous que Docker est réellement installé en exécutant la commande "version docker" à partir de l'invite de commande Windows (cmd.exe).
C:\Users\Administrator>docker version Client: Version: 17.03.1-ee-3 API version: 1.27 Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Server: Version: 17.03.1-ee-3 API version: 1.27 (minimum version 1.24) Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Experimental: false
Exécuter votre premier conteneur IIS
La première étape consiste à récupérer le conteneur IIS distribué par Microsoft. Nous pourrions le faire avec le docker pull commande (c'est-à-dire :docker pull Microsoft/ iis). Cependant, dans un souci de simplicité, nous pouvons ignorer cette étape et passer directement au lancement de notre premier conteneur. Docker extrait automatiquement l'image nécessaire (et toutes les images dépendantes) si elles n'existent pas déjà localement.
Remarque :Nous allons définir certaines propriétés du conteneur lorsque nous exécuterons la commande :
- Nom :le nom du conteneur. Dans ce cas, nous spécifierions le nom en entrant "–name monIIS ."
- Ports :vous pouvez spécifier les ports que vous souhaitez ouvrir sur le serveur. Pour ce faire, liez les ports internes de votre conteneur à un port externe afin qu'il soit accessible publiquement. Dans ce cas, nous lions le port 80 (le port Web) du conteneur au port 80 de notre Serveur Cloud avec "-p 80:80 ".
Docker extrait automatiquement l'image nécessaire (et toutes les images dépendantes) si elles n'existent pas déjà localement.
C:\Users\Administrator>docker run -d --name myIIS -p 80:80 microsoft/iis Unable to find image 'microsoft/iis:latest' locally latest: Pulling from microsoft/iis 3889bb8d808b: Pull complete 6d4d50238ed1: Pull complete 0606d7d474d1: Pull complete 672755d284cd: Pull complete 88f5b9741695: Pull complete d53dd94c8474: Pull complete Digest: sha256:bcbcb3b442bc5f0ab3b8b769b52584d98751861b5e438b866d59287cc8112f10 Status: Downloaded newer image for microsoft/iis:latest 2614436cb74c8a21c77e071e13fb5937c12f8946ce8e3c7044e24216cae4100b
Votre conteneur est maintenant en cours d'exécution, ce que vous pouvez vérifier avec la commande suivante :
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
Ensuite, nous allons nous connecter au conteneur et démarrer une invite de commande Windows (cmd.exe ) dans le conteneur pour saisir des commandes interactives :
C:\Users\Administrator>docker exec -i myIIS cmd Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\>
Maintenant que vous êtes connecté au conteneur, nous allons supprimer la page de démarrage du serveur Web IIS par défaut afin de pouvoir ajouter notre propre page d'index :
del C:\inetpub\wwwroot\iisstart.htm
Ajoutez maintenant votre propre contenu à la page index.html :
echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html
Ouvrez maintenant un navigateur et saisissez l'adresse IP de votre serveur cloud dans le champ URL. Vous devriez maintenant voir votre page d'index :
De retour dans le CMD invite, tapez exit pour quitter la session interactive du conteneur :
C:\>exit exit C:\Users\Administrator>
Construire et déployer un conteneur Docker avec vos modifications
Maintenant que le conteneur est configuré comme vous le souhaitez, vous pouvez enregistrer le conteneur dans une nouvelle image de conteneur pour une utilisation future. Tout d'abord, nous devons récupérer le nom du conteneur à partir du "docker ps -a " et arrêtez le conteneur :
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
C:\Users\Administrator>docker stop myIIS myIIS
Créez le nouveau conteneur avec "docker commit
C:\Users\Administrator>docker commit myIIS configured-iis sha256:4d08b0a5561e11817d199d6d55d46497ce1d4221384d5c29b4c622d44cceed9c
Vérifiez que la nouvelle image a été créée :
C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE configured-iis latest 4d08b0a5561e 44 seconds ago 10.5 GB microsoft/iis latest 9e66ceefdc5a 2 weeks ago 10.4 GB
Le conteneur que nous venons de créer peut maintenant être déployé pour une utilisation future :
docker run -d --name web01 -p 80:80 configured-iis
Maintenant, arrêtez le nouveau conteneur et supprimez-le :
C:\Users\Administrator>docker stop web01 web01
C:\Users\Administrator>docker rm web01 web01
Finir
Ce qui précède n'était qu'un tutoriel de base. Vous pouvez également faire des choses intéressantes comme automatiser la construction d'images de conteneurs à l'aide de DockerFiles, pousser les images vers un référentiel centralisé et créer une redondance et un basculement automatique en ayant plusieurs nœuds configurés dans un Docker Swarm. Amusez-vous !