Les conteneurs
Les conteneurs dans Windows Server 2022
Depuis Windows Server 2016, la fonctionnalité conteneurs est nativement présente. Celle-ci permet l’isolation d’un environnement pour une application. Il est évidemment possible de déployer une multitude de conteneurs sur un serveur physique ainsi que sur des machines virtuelles. Chaque conteneur déployé possède un environnement complet pour l’application. Cette dernière possède donc un espace contrôlé et portable. En cas de crash de l’application, le système d’exploitation n’est plus impacté comme cela pouvait être le cas avant. Cela revient donc à créer une "bulle" autour de l’application sans lien nécessaire avec les autres applications.
Après plusieurs générations de système de virtualisation, Docker est une nouvelle évolution. Il permet de répondre aux problèmes de performances rencontrés sur les systèmes mutualisés. En cas de crash d’une application, le serveur entier peut en être impacté et donc indirectement, les autres applications et services hébergés. La sécurité est également améliorée avec ce système. En cas de compromission de l’application, seule cette dernière est impactée et non l’ensemble des ressources hébergées.
Les conteneurs possèdent une architecture particulière qu’il est nécessaire de connaître avant de mettre en place cette fonctionnalité.
L’hôte conteneur est une machine physique ou virtuelle qui possède la fonctionnalité Conteneur installée. Cette dernière s’installe par le biais de la console Gestionnaire de serveur. Un hôte peut contenir un ou plusieurs...
Vue d’ensemble des prérequis
La fonctionnalité Conteneur possède plusieurs prérequis. Il est tout d’abord nécessaire de s’assurer que le système d’exploitation hôte contient la fonctionnalité. Les systèmes concernés sont les suivants :
-
Windows Server 2016/2019/2022 (mode Core ou avec l’interface graphique)
-
Nano Server
-
Windows 10 (build 14352 et supérieure)
-
Windows 11
Présentation de Docker
Docker est une suite d’outils open source qui fournit des modèles communs pour procéder à la conteneurisation du code de l’application en une unité standardisée. Également appelé Conteneur Docker, cela consiste à isoler l’application dans un système de fichiers complet. L’ensemble des outils nécessaires au fonctionnement de l’application (librairies système, outils système…) sont évidemment inclus.
La plateforme Docker (Docker Engine) est un environnement d’exécution dont le rôle principal est de communiquer avec le client Docker, le but de cette communication étant l’exécution de conteneurs Docker.
Un conteneur Docker offre la même isolation qu’une machine virtuelle, néanmoins il diffère de cette dernière par une architecture plus portable et plus efficace. En effet, en plus de contenir l’application, il inclut également les dépendances. Le noyau est lui partagé entre tous les conteneurs Docker. Chaque conteneur fonctionne en tant que processus isolé sur le système d’exploitation hôte. Ce type de conteneur s’appuie sur des standards ouverts, ce qui permet une exécution sur une grande majorité de distributions Linux et systèmes d’exploitation Microsoft. Ils offrent l’avantage de ne pas être liés à une infrastructure spécifique, les conteneurs peuvent donc fonctionner sur n’importe quel ordinateur.
Docker et Windows Server 2019
Windows Server 2019 et 2022 offrent l’avantage d’intégrer un "démon" Docker (service Linux), ceci afin de pouvoir utiliser des conteneurs Docker ainsi que les outils fournis par Docker. Le moteur Docker (Docker Engine), inclus avec Windows Server 2016/2019/2022...