Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Conseil / Astuce
Ce contenu est un extrait du livre électronique 'Architecture des microservices .NET pour les applications .NET conteneurisées', disponible sur .NET Docs ou en tant que PDF téléchargeable gratuitement, lisible hors ligne.
Cette section répertorie les termes et définitions que vous devez connaître avant de vous familiariser avec Docker. Pour obtenir d’autres définitions, consultez le glossaire complet fourni par Docker.
Image conteneur : package avec toutes les dépendances et informations nécessaires pour créer un conteneur. Une image inclut toutes les dépendances (telles que les frameworks) ainsi que la configuration de déploiement et d’exécution à utiliser par un runtime de conteneur. En règle générale, une image dérive de plusieurs images de base empilées les unes sur les autres pour former le système de fichiers du conteneur. Une image est immuable une fois qu’elle a été créée.
Dockerfile : fichier texte qui contient des instructions pour la création d’une image Docker. Il s’agit d’un script par lots, la première ligne indique l’image de base pour commencer, puis suivez les instructions pour installer les programmes requis, copier des fichiers, etc. jusqu’à ce que vous obteniez l’environnement de travail dont vous avez besoin.
Build : action de création d’une image conteneur basée sur les informations et le contexte fournis par son fichier Dockerfile, ainsi que des fichiers supplémentaires dans le dossier où l’image est générée. Vous pouvez générer des images avec la commande Docker suivante :
docker build
Conteneur : instance d’une image Docker. Un conteneur représente l’exécution d’une application, d’un processus ou d’un service unique. Il se compose du contenu d’une image Docker, d’un environnement d’exécution et d’un ensemble standard d’instructions. Lors de la mise à l’échelle d’un service, vous créez plusieurs instances d’un conteneur à partir de la même image. Ou un travail de traitement par lots peut créer plusieurs conteneurs à partir de la même image, en passant des paramètres différents à chaque instance.
Volumes : proposez un système de fichiers accessible en écriture que le conteneur peut utiliser. Étant donné que les images sont en lecture seule, mais que la plupart des programmes doivent écrire dans le système de fichiers, les volumes ajoutent une couche accessible en écriture, au-dessus de l’image conteneur, afin que les programmes aient accès à un système de fichiers accessible en écriture. Le programme ne sait pas qu’il accède à un système de fichiers en couches, il s’agit simplement du système de fichiers comme d’habitude. Les volumes vivent dans le système hôte et sont gérés par Docker.
Étiquette: Une marque ou un label que vous pouvez appliquer aux images pour identifier différentes images ou versions de la même image (selon le numéro de version ou l’environnement cible).
Build à plusieurs étapes : fonctionnalité, car Docker 17.05 ou version ultérieure permet de réduire la taille des images finales. Par exemple, une image de base volumineuse, contenant le Kit de développement logiciel (SDK) peut être utilisée pour la compilation et la publication, puis une petite image de base runtime uniquement peut être utilisée pour héberger l’application.
Dépôt : une collection d’images Docker associées, étiquetées d'une balise indiquant la version de l'image. Certains dépôts contiennent plusieurs variantes d’une image spécifique, telles qu’une image contenant des kits SDK (plus lourds), une image contenant uniquement des runtimes (plus légers), etc. Ces variantes peuvent être marquées avec des balises. Un dépôt unique peut contenir des variantes de plateforme, telles qu’une image Linux et une image Windows.
Registre : service qui fournit l’accès aux référentiels. Le Registre par défaut pour la plupart des images publiques est Docker Hub (appartenant à Docker en tant qu’organisation). Un registre contient généralement des dépôts de plusieurs équipes. Les entreprises ont souvent des registres privés pour stocker et gérer des images qu’elles ont créées. Azure Container Registry est un autre exemple.
Image multi-arch : pour multi-architecture (ou multiplateforme), il s’agit d’une fonctionnalité Docker qui simplifie la sélection de l’image appropriée, en fonction de la plateforme où Docker est en cours d’exécution. Par exemple, lorsqu’un fichier Dockerfile demande une image de base FROM mcr.microsoft.com/dotnet/sdk:8.0 à partir du registre, il obtient réellement 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 ou 8.0-bullseye-slim, selon le système d’exploitation et la version où Docker est en cours d’exécution.
Docker Hub : Registre public pour charger des images et les utiliser. Docker Hub fournit un hébergement d’images Docker, des registres publics ou privés, des déclencheurs de build et des hooks web, ainsi que l’intégration à GitHub et Bitbucket.
Azure Container Registry : ressource publique permettant d’utiliser des images Docker et ses composants dans Azure. Cela fournit un registre proche de vos déploiements dans Azure et qui vous permet de contrôler l’accès, ce qui vous permet d’utiliser vos groupes et autorisations Azure Active Directory.
Registre de confiance Docker (DTR) : service de Registre Docker (à partir de Docker) qui peut être installé localement afin qu’il réside dans le centre de données et le réseau de l’organisation. Il est pratique pour les images privées qui doivent être gérées au sein de l’entreprise. Docker Trusted Registry est inclus dans le cadre du produit Docker Datacenter.
Docker Desktop : outils de développement pour Windows et macOS pour la création, l’exécution et le test de conteneurs localement. Docker Desktop pour Windows fournit des environnements de développement pour les conteneurs Linux et Windows. L’hôte Docker Linux sur Windows est basé sur une machine virtuelle Hyper-V . L’hôte pour les conteneurs Windows est directement basé sur Windows. Docker Desktop pour Mac est basé sur l’infrastructure Apple Hypervisor et l’hyperviseur xhyve, qui fournit une machine virtuelle hôte Docker Linux sur macOS. Docker Desktop pour Windows et Mac remplace la boîte à outils Docker, qui était basée sur Oracle VirtualBox.
Compose : outil en ligne de commande et format de fichier YAML avec des métadonnées permettant de définir et d’exécuter des applications multiconteneurs. Vous définissez une application unique basée sur plusieurs images avec un ou plusieurs fichiers .yml qui peuvent remplacer les valeurs en fonction de l’environnement. Une fois que vous avez créé les définitions, vous pouvez déployer l’ensemble de l’application multiconteneur avec une seule commande (docker-compose up) qui crée un conteneur par image sur l’hôte Docker.
Cluster : collection d’hôtes Docker exposés comme s’il s’agissait d’un seul hôte Docker virtuel, afin que l’application puisse effectuer une mise à l’échelle vers plusieurs instances des services réparties sur plusieurs hôtes au sein du cluster. Les clusters Docker peuvent être créés avec Kubernetes, Azure Service Fabric, Docker Swarm et Mesosphere DC/OS.
Orchestrator : outil qui simplifie la gestion des clusters et des hôtes Docker. Les orchestrateurs vous permettent de gérer leurs images, conteneurs et hôtes via une interface de ligne de commande (CLI) ou une interface utilisateur graphique. Vous pouvez gérer la mise en réseau de conteneurs, les configurations, l’équilibrage de charge, la découverte de service, la haute disponibilité, la configuration de l’hôte Docker, etc. Un orchestrateur gère l’exécution, la distribution, la mise à l’échelle et la réparation des charges de travail dans une collection de nœuds. En règle générale, les produits orchestrator sont les mêmes que ceux qui fournissent une infrastructure de cluster, comme Kubernetes et Azure Service Fabric, entre autres offres sur le marché.