Explorer Docker
L’administrateur Windows Server de Contoso doit comprendre Docker, les conteneurs Docker, les runtimes de conteneur, et comment ils peuvent être exécutés sur Windows Server.
Vue d’ensemble de Docker et des runtimes de conteneur
Docker Inc. est une société qui a rassemblé une collection d’outils open source, de solutions et de services cloud qui fournissent un modèle commun pour l’empaquetage (également appelé « conteneurisation ») du code d’application dans une unité standardisée pour le développement de logiciels. Cette unité standardisée, appelée conteneur Docker, est un logiciel encapsulé dans un système de fichiers complet qui inclut tout ce dont il a besoin pour s’exécuter : le code, le runtime, les outils système, les bibliothèques système et tout ce que vous pouvez installer sur un serveur.
Pour prendre en charge un conteneur Docker, deux composants sous-jacents entrent en jeu, qui sont généralement cachés ou ignorés par l’utilisateur exécutant un conteneur. Ces deux composants sont le runtime de conteneur et les fonctionnalités du système d’exploitation pour prendre en charge les conteneurs. Sur Windows Server, la fonctionnalité qui prend en charge le conteneur Docker est simplement appelée « Conteneurs ». Cette fonctionnalité interagit avec un composant appelé Service de calcul hôte (HCS, Host Compute Service). HCS est chargé d’orchestrer la plateforme de virtualisation sur Windows Server, et c’est l’API de niveau inférieur qui prend en charge les conteneurs et les machines virtuelles Hyper-V.
Au-dessus de la fonctionnalité du système d’exploitation qui planifie les conteneurs se trouve un runtime de conteneur. Un runtime de conteneur se trouve entre l’interface CLI, l’interface utilisateur ou l’orchestrateur de conteneurs et la fonctionnalité de système d’exploitation sous-jacente. Le travail du runtime de conteneur est de traduire les commandes de l’utilisateur ou de l’orchestrateur de conteneurs pour les fonctionnalités de la plateforme du système d’exploitation. Par exemple, quand vous demandez à l’interface CLI de Docker d’exécuter un nouveau conteneur, l’interface CLI interagit avec le runtime de conteneur, qui à son tour envoie la commande au système d’exploitation d’une façon compréhensible pour celui-ci. Les runtimes de conteneur sont utilisés pour que les couches ci-dessus n’aient pas à savoir comment le système d’exploitation s’attend à recevoir des commandes. Du point de vue de l’utilisateur, c’est important, car différents runtimes de conteneur auront des fonctionnalités et des caractéristiques différentes.
Il existe de nombreux runtimes de conteneur différents disponibles pour l’exécution de conteneurs sur Windows Server. Les plus courants sont les suivants :
- Moby Project. Moby est le projet open source à partir duquel Docker crée ses projets commerciaux. Sur Windows Server, Moby est un projet pris en charge par la communauté qui utilise dockerd comme runtime de conteneur. Moby est idéal pour tester des conteneurs sur Windows Server. Une fois installé, Moby fournit non seulement le runtime de conteneur dockerd, mais aussi l’interface CLI pour interagir avec les conteneurs sur Windows Server.
Attention
Dockerd sur Windows et Windows Server utilise HCSv1. Sur Linux, Moby utilise containerd comme runtime de conteneur. Des travaux sont en cours pour faire passer Moby à containerd sur Windows, en tirant parti de l’interface plus récente et améliorée de HCSv2.
containerd. containerd est un runtime de conteneur open source qui a récemment été désigné comme runtime de conteneur préféré pour les environnements Kubernetes. containerd peut être utilisé dans les environnements de production et est le runtime de conteneur par défaut pour Windows Server 2022 lors de l’exécution sur des environnements Kubernetes. Une fois installé, containerd ne fournit pas d’interface CLI pour interagir avec les conteneurs. D’autres interface CLI open source, comme CRICTL ou NerdCTL, peuvent être utilisés à la place.
Mirantes Container Runtime (MCR). MCR, auparavant appelé Docker Enterprise Edition (Docker EE), fournit les mêmes fonctionnalités que Docker CE avec des fonctionnalités supplémentaires créées spécifiquement pour les déploiements d’entreprise. MCR est recommandé lors de l’utilisation de Docker Swarm comme orchestrateur de conteneurs. Une fois installé, MCR fournit le runtime de conteneur, et la même expérience CLI que Docker et Moby.
Notes
Un autre composant, appelé Docker Desktop pour Windows, peut être utilisé sur Windows 10 et 11 à des fins de développement.
Exécuter des conteneurs sur Windows Server
Avant d’exécuter des conteneurs sur Windows Server, vous devez déterminer quel runtime de conteneur vous voulez utiliser sur votre environnement. Le runtime de conteneur va déterminer le processus d’installation que vous devez suivre. Pour plus d’informations sur les options pour Windows Server et sur l’installation de chacune d’elles, consultez Comment préparer votre hôte Windows Server pour les conteneurs.
Important
Si vous envisagez d’utiliser le mode d’isolation Hyper-V pour vos conteneurs, vous devez également installer le rôle serveur Hyper-V sur le serveur hôte. En outre, si le serveur hôte est une machine virtuelle, vous devez activer la virtualisation imbriquée avant d’installer le rôle Hyper-V. Comme Windows 10 et 11 exécute les conteneurs basés sur Windows par défaut en mode d’isolation Hyper-V, pour prendre en charge ce mode par défaut, la fonctionnalité Hyper-V doit être installée sur l’environnement hôte Windows 10 et 11.
Docker Hub
Les conteneurs sont basés sur des images conteneur, et ces images peuvent être stockées dans des référentiels. Les référentiels agissent comme un emplacement où vous pouvez créer, stocker, sécuriser et partager des images conteneur. Docker Hub est un service de bibliothèque web en ligne, géré par Docker, dans lequel vous pouvez :
Enregistrer, stocker et gérer vos propres images Docker dans un référentiel en ligne, puis les partager avec d’autres utilisateurs.
Accéder à plus de 100 000 images conteneur d’éditeurs de logiciels, de projets open source et d’autres membres de la communauté.
Registre de conteneurs Microsoft
Microsoft fournit des images conteneur via Microsoft Container Registry (MCR) sur mcr.microsoft.com. C’est la source officielle d’images conteneur fournies par Microsoft. Quel que soit l’endroit où les images conteneur Microsoft sont trouvées, la source d’extraction est mcr.microsoft.com.
Notes
Azure Container Registry est un service Azure que vous pouvez utiliser pour créer votre propre référentiel d’images conteneur. Vous pouvez utiliser ce référentiel pour stocker et gérer des images pour tous les types de déploiement de conteneur.