L'image Docker contient les programmes, bibliothèques, ressources, configuration et autres fichiers nécessaires pour fournir le runtime du conteneur, ainsi que certains paramètres de configuration préparés pour le runtime ; l'image est un système de fichiers spécial et ne contient aucune donnée dynamique. Le contenu ne sera pas modifié une fois créé.
L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.
Comprenez d'abord ce qu'est une image :
Nous savons tous que le système d'exploitation est divisé en noyau et espace utilisateur. Pour Linux, une fois le noyau démarré, le système de fichiers racine sera monté pour fournir la prise en charge de l'espace utilisateur. L'image Docker (Image) est équivalente à un système de fichiers racine. Par exemple, l'image officielle ubuntu:18.04 contient un ensemble complet du système de fichiers racine du système minimal Ubuntu 18.04.
L'image Docker est un système de fichiers spécial. En plus de fournir les programmes, bibliothèques, ressources, configuration et autres fichiers requis pour l'exécution du conteneur, elle contient également certains paramètres de configuration préparés pour l'exécution (tels que les volumes anonymes, les variables d'environnement, les utilisateurs, etc.). L'image ne contient aucune donnée dynamique et son contenu ne sera pas modifié une fois créée.
Stockage en couches
Étant donné que l'image contient le système de fichiers racine complet du système d'exploitation, son volume est souvent énorme. Par conséquent, lors de la conception de Docker, elle utilise pleinement la technologie et la conçoit comme une architecture de stockage à plusieurs niveaux. À proprement parler, une image n'est pas un fichier packagé comme une image ISO. Une image est simplement un concept virtuel. Sa manifestation réelle n'est pas composée d'un fichier, mais d'un ensemble de systèmes de fichiers, ou en d'autres termes, d'une combinaison de plusieurs systèmes. composition des systèmes de fichiers en couches.
Lorsque l'image est construite, elle sera construite couche par couche, le calque précédent étant la base du calque suivant. Une fois que chaque calque est construit, il ne changera plus. Toute modification sur le calque suivant ne se produira que sur son propre calque. Par exemple, l'opération de suppression d'un fichier au niveau précédent ne supprime pas réellement le fichier au niveau précédent, mais marque uniquement le fichier comme supprimé au niveau actuel. Lorsque le conteneur final est exécuté, même si ce fichier ne sera pas vu, en fait, le fichier suivra toujours l'image. Par conséquent, lors de la création d'une image, vous devez être très prudent. Chaque calque ne doit contenir que ce qui doit être ajouté au calque. Tous les éléments supplémentaires doivent être nettoyés avant que la construction du calque ne soit terminée.
La fonctionnalité de stockage hiérarchisé facilite également la réutilisation et la personnalisation des images. Vous pouvez même utiliser l'image précédemment créée comme couche de base, puis ajouter de nouveaux calques pour personnaliser ce dont vous avez besoin et créer une nouvelle image.
Connaissances élargies :
Vous pouvez comprendre les images en tant que cours.
Tout d’abord, vous devez extraire l’image du service d’entrepôt d’images. Docker Hub est un service de référentiel d'images courant, mais d'autres services de référentiel d'images existent également.
L'opération pull téléchargera l'image sur l'hôte Docker local et vous pourrez utiliser l'image pour démarrer un ou plusieurs conteneurs.
Le miroir est composé de plusieurs couches. Une fois chaque couche superposée, il ressemble à un objet indépendant de l'extérieur. À l’intérieur de l’image se trouve un système d’exploitation (OS) simplifié, qui contient également les fichiers et les packages de dépendances nécessaires à l’exécution de l’application.
Étant donné que les conteneurs sont conçus pour être rapides et compacts, les images sont généralement plus petites.
J'ai déjà mentionné à plusieurs reprises qu'une image est comme un conteneur (classe) qui s'arrête de fonctionner. En fait, vous pouvez arrêter un conteneur et créer une nouvelle image à partir de celui-ci.
Dans ce principe, l'image peut être comprise comme une structure de construction et le conteneur peut être compris comme une structure d'exécution, comme le montre la figure ci-dessous.
Apprentissage recommandé : "Tutoriel vidéo Docker"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!