Qu’est-ce qu’un conteneur ?
Un conteneur est un environnement isolé dans lequel une application peut s’exécuter.
Le conteneur, l’application et toutes ses dépendances sont construits avec des éléments des ressources de l’hôte, tels qu’un système d’exploitation de noyau, un processeur et une mémoire, puis sont logiquement séparés des autres conteneurs et de l’hôte lui-même.
Le schéma ci-après illustre comment un conteneur rouge et jaune coexistent au sein du même hôte, utilisent le même matériel et le même système d’exploitation du noyau, tout en occupant leur espace individuel ; ils peuvent ainsi exécuter leurs applications sans interférence externe.
Notez que le même matériel et le système d’exploitation qui y est installé peuvent exécuter leurs propres applications et services, quelles que soient les activités en cours dans chaque conteneur.
Comment créer et exécuter des conteneurs dans Windows Server
Les conteneurs peuvent s’exécuter sur diverses plates-formes telles que les systèmes d’exploitation Linux, Windows et Mac. Toutefois, cet article/cette démo porte sur l’exécution de conteneurs dans Windows Server.
Il existe plusieurs manières d’utiliser des conteneurs Windows, y compris Windows Admin Center (WAC) ou Visual Studio. Toutefois, Docker est utilisé dans cet article/cette démo.
Docker est un produit de plateforme as-a-service qui peut être utilisé pour combiner une application, toutes ses dépendances et les informations de configuration dans un package unique appelé conteneur. Docker peut ensuite être utilisé pour expédier, exécuter ou supprimer ce conteneur.
La procédure suivante a été réalisée sur une nouvelle installation de Windows Server 2022.
Vous trouverez la liste des conditions préalables à l’exécution des conteneurs sur Windows Server en cliquant sur le lien externe ci-dessous :
Mise en route : préparation de Windows pour les conteneurs
Voici un résumé des étapes à suivre pour créer et exécuter des conteneurs sur Windows Server à l’aide de Docker :
1. Installer Docker
Dans PowerShell (exécuter en tant qu’administrateur), saisissez la commande suivante :
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
À l’invite, saisissez «
Y » pour confirmer l’installation de NuGet.
Dans la même session PowerShell, saisissez :
Install-Package -Name docker -ProviderName DockerMsftProvider
À l’invite, saisissez «
Y » pour approuver le package.
Dans la même session PowerShell, saisissez :
Restart-Computer
2. Créer un fichier Docker et télécharger une image de conteneur
Dans une session PowerShell avec élévation de privilèges, accédez au répertoire racine et créez un dossier à l’aide de la saisie suivante :
cd\
mkdir Containers
cd Containers
Dans la même session PowerShell, créez le fichier docker et modifiez-le à l’aide de la saisie suivante :
New-Item dockerfile
(Notez que le fichier n’a pas d’extension.)
notepad dockerfile
Dans l’éditeur de texte du bloc-notes, saisissez les 3 lignes suivantes, puis enregistrez et fermez le fichier docker :
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Revenez à PowerShell, toujours dans le contexte C:\Containers, créez un fichier n html et modifiez-le à l’aide de la saisie suivante :
New-Item index.html
notepad index.html
Dans l’éditeur de texte du bloc-notes, saisissez les 3 lignes suivantes, puis enregistrez et fermez le fichier index.html :
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. Créez et exécutez le conteneur.
De retour dans PowerShell, toujours dans C:\Containers, saisissez :
docker build -t webserver.
Attendez le téléchargement complet de l’image à partir de Microsoft Container Registry, puis saisissez :
docker images
L’image téléchargée devrait maintenant s’afficher.
Finalement, pour exécuter un conteneur à l’aide du modèle d’image téléchargé, revenez dans PowerShell et saisissez :
docker run --name container1 -d -p 80:80 webserver
Cette dernière ligne crée et exécute un conteneur nommé container1 en fonction de l’image du serveur Web qui a été préparée. Le commutateur -d demande à Windows d’exécuter le conteneur en arrière-plan et -p indique à Windows de transférer le port 80 (HTTP) de l’hôte vers le port 80 du conteneur.
Pour tester le conteneur :
ouvrez un navigateur Web sur l’hôte et accédez à localhost (vous pouvez également utiliser un autre ordinateur sur le même segment de réseau pour accéder à l’adresse IP de l’hôte ou au nom de l’ordinateur du conteneur).
Appuyez sur l’exemple de page Web HTML créé précédemment :
Cette opération complète le didacticiel sur l’exécution des conteneurs Docker sur Windows Server 2022.