Superposition de transmission d'image Docker ; étant donné que l'image Docker est construite en couches, le processus de construction de l'image sera démantelé, trouvera les points communs avec d'autres services et la formulera dans une image de base. Chaque spécification dans le Dockerfile créera une image de base. une nouvelle couche. Cela économise de l'espace disque, de sorte que le transfert des images Docker est superposé.
L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.
Une image est un progiciel indépendant léger et exécutable qui contient tout ce dont vous avez besoin pour exécuter un certain logiciel. Nous emballons l'application et la configuration dans un environnement d'exploitation formé, livrable et déployable, comprenant le code, les bibliothèques requises pour l'exécution, les variables d'environnement et les fichiers de configuration, etc. Ce grand environnement d'exploitation packagé est un fichier image.
Les instances de conteneur Docker ne peuvent être générées que via des fichiers image.
superposition d'images Docker
Signification : Démontez le processus de construction d'une image, trouvez des points communs avec d'autres services et formulez-la dans une image de base.
Avantages : Économisez de l'espace disque,
Lors du téléchargement/téléchargement d'images, si l'image de base existe déjà, elle ne sera pas téléchargée et téléchargée à plusieurs reprises, améliorant ainsi les vitesses de téléchargement et de téléchargement.
Inconvénients : Si l'image de base est modifiée, tous les sous -les miroirs vont changer.
Mécanisme de superposition d'images Docker
Les images Docker sont construites en couches. Au fur et à mesure que nous en apprendrons davantage sur Docker, nous comprendrons que chaque spécification du fichier Docker créera une nouvelle couche. Prenons comme exemple les instructions Dockerfile suivantes :
FROM ubuntu:20.04#基础镜像 COPY . /app#复制文件 RUN make /app#编译文件 CMD python /app/app.py#入口文件
Les quatre instructions ci-dessus enregistrent uniquement les modifications apportées par ce calque sur chaque calque, et ces calques sont des calques en lecture seule. Lors du démarrage d'un conteneur, Docker commande pour ajouter une couche de lecture-écriture en haut. Toutes les modifications apportées dans le conteneur (écriture de journaux, modification, suppression de fichiers, etc.) sont généralement enregistrées dans cette couche de lecture-écriture. appelé la couche conteneur, comme suit Comme le montre l'image :
En fait, la principale différence entre un conteneur et une image est que le conteneur ajoute une couche de lecture et d'écriture de niveau supérieur. Toutes les modifications apportées au conteneur se produisent au niveau de cette couche et l'image ne sera pas modifiée, ce qui est la technologie COW (copie sur écriture) mentionnée précédemment. Lorsque le conteneur doit lire un fichier, il peut le lire directement à partir de la couche inférieure en lecture seule. Si un fichier doit être modifié, le fichier est copié vers la couche supérieure en lecture-écriture pour modification et vers la couche en lecture seule. reste inchangé.
Chaque conteneur possède sa propre couche de lecture-écriture, de sorte que plusieurs conteneurs peuvent utiliser la même image. De plus, lorsqu'un conteneur est supprimé, sa couche de lecture-écriture correspondante sera également supprimée si vous souhaitez que plusieurs conteneurs soient partagés ou persistants. Pour les données, vous pouvez utiliser des volumes Docker.
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!