GNU/Linux >> Tutoriels Linux >  >> Linux

Comment :démarrer avec les conteneurs Windows et Docker

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 “. Dans notre cas, le nom actuel est "myIIS " :

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 !


Linux
  1. Comment installer et héberger un serveur OpenVPN avec Docker

  2. Comment répertorier les conteneurs Docker

  3. Comment démarrer avec un serveur cloud FreeBSD

  4. Guide pratique :Premiers pas avec Ansible

  5. Comment puis-je enregistrer le serveur Linux avec le serveur DNS Windows

Tutoriel de démarrage avec Azure Docker

Comment exécuter des conteneurs Docker

Comment :démarrer avec Ubuntu 14.04 LTS avec LAMP

Comment :démarrer avec Ubuntu 14.04 LTS avec LEMP

Comment gérer les conteneurs Docker

Premiers pas avec .NET Core et Docker et le registre de conteneurs Microsoft