Maison Opération et maintenance Docker Vérifiez où l'image Docker est extraite et placée

Vérifiez où l'image Docker est extraite et placée

May 13, 2023 pm 06:41 PM

Docker est une technologie de conteneur open source qui peut être utilisée pour créer, publier et exécuter des applications. En utilisant les images Docker, les utilisateurs peuvent télécharger et installer des applications prédéfinies ou des environnements de conteneurs simplement et rapidement.

Les images Docker sont composées de plusieurs couches (Layer) et chaque couche contient un instantané du système de fichiers. Lorsqu'un utilisateur extrait une image Docker, il obtient en fait toutes les couches de l'image à partir du registre Docker et les combine pour créer une image Docker complète.

Alors, où se trouve l'emplacement de stockage local de l'image Docker ? Cet article vous le présentera en détail.

  1. Afficher la liste d'images Docker

Tout d'abord, nous devons afficher la liste d'images Docker locale actuelle. Entrez la commande suivante dans le terminal :

docker images
Copier après la connexion

Après l'exécution, une liste de toutes les images Docker sur la machine sera répertoriée, y compris l'ID de l'image, le nom de l'image, l'étiquette de l'image, la taille de l'image et d'autres informations. Comme le montre l'image ci-dessous :

Docker images

Comme vous pouvez le voir sur l'image ci-dessus, chaque image a un identifiant unique, un nom et quelques balises (également appelées versions). Parmi eux, le champ REPOSITORY représente le nom de l'image, le champ TAG représente l'étiquette de l'image et le champ IMAGE ID est l'identifiant unique de l'image.

  1. Afficher l'emplacement de stockage des images Docker

Dans Docker, chaque image est composée de plusieurs calques (Layer). Par conséquent, lorsqu'un utilisateur télécharge ou crée une image Docker, toutes les couches de l'image sont en fait téléchargées sur le stockage local.

Dans les systèmes Linux, les images Docker sont en fait stockées dans le répertoire /var/lib/docker. Entrez la commande suivante dans le terminal : /var/lib/docker目录下的。在终端输入下面命令:

sudo ls -l /var/lib/docker/
Copier après la connexion

执行后,终端将会显示出/var/lib/docker/目录下所有的文件和文件夹列表。其中,/var/lib/docker/image文件夹是Docker储存镜像的主要位置。如下图所示:

Vérifiez où limage Docker est extraite et placée

/var/lib/docker/image/overlay2/imagedb/content/sha256目录下,存储了所有已下载的Docker镜像(以镜像ID命名),即所有层的存储位置。在每个镜像ID目录下,都有一个名为“real”或者“diff”文件,代表该层的存储位置。

  1. 确认镜像层存储位置

对于Docker镜像的每一层,其存储位置可以通过执行下面的命令来确认:

docker history <image_name>:<tag>
Copier après la connexion

例如,对于nginx镜像,执行命令:

docker history nginx:latest
Copier après la connexion

将会输出以下结果:

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
84cf8d0a2e04        3 weeks ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  STOPSIGNAL SIGTERM           0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           3 weeks ago         /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B
<missing>           3 weeks ago         /bin/sh -c set -x  && apt-get update  && ap…   68.2MB
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NJS_VERSION=2.1.0.6      0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.16.1     0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           4 weeks ago         /bin/sh -c #(nop) ADD file:7fbfce9f6a99e63a5…   63.2MB
Copier après la connexion

其中,每一层的SIZE字段表示该层的实际占用空间大小。该命令输出结果的第一列就是Docker镜像每一层的ID,从上到下依次代表镜像的各个层。

我们可以根据这个命令的输出结果,确认每一层具体的存储位置。例如,在上述命令的输出结果中,最后一列是该层的描述信息,其中包括了该层的原始命令和参数。

对于nginx镜像的第一层(ID为“84cf8d0a2e04”),该层的CMD为“CMD ["nginx" "-g" "daemon…””,即启动nginx服务;对于后面的各层,则是其它一些配置或命令。因此,我们可以大致猜测Docker镜像每一层的存储位置。

  1. 总结

通过上述命令,用户可以在Linux系统下查看本地存储的Docker镜像。Docker镜像的层以镜像ID为文件夹名存放在/var/lib/docker/image/overlay2/imagedb/content/sha256目录中。每一层分别存储在“real”或者“diff”文件中。

对于每一层镜像的存储位置,可以通过执行docker historyrrreee

Après l'exécution, le terminal affichera une liste de tous les fichiers et dossiers du répertoire /var/lib/docker/. Parmi eux, le dossier /var/lib/docker/image est l'emplacement principal où Docker stocke les images. Comme le montre l'image ci-dessous :

Emplacement de stockage Docker🎜🎜 dans / var/ Toutes les images Docker téléchargées (nommées avec des ID d'image) sont stockées dans le répertoire lib/docker/image/overlay2/imagedb/content/sha256, qui est l'emplacement de stockage de toutes les couches. Dans chaque répertoire ID d'image, il existe un fichier nommé "real" ou "diff", qui représente l'emplacement de stockage de cette couche. 🎜
    🎜Confirmez l'emplacement de stockage de la couche d'image🎜🎜🎜Pour chaque couche de l'image Docker, son emplacement de stockage peut être confirmé en exécutant la commande suivante : 🎜rrreee🎜Par exemple, pour l'image nginx, exécutez la commande : 🎜rrreee🎜 affichera les résultats suivants : 🎜rrreee🎜 Parmi eux, le champ SIZE de chaque calque représente l'espace réel occupé par le calque. La première colonne du résultat de cette commande est l'ID de chaque couche de l'image Docker, représentant chaque couche de l'image de haut en bas. 🎜🎜Nous pouvons confirmer l'emplacement de stockage spécifique de chaque couche en fonction du résultat de cette commande. Par exemple, dans le résultat de la commande ci-dessus, la dernière colonne contient les informations de description de la couche, qui incluent la commande et les paramètres d'origine de la couche. 🎜🎜Pour la première couche de l'image nginx (ID est "84cf8d0a2e04"), le CMD de cette couche est "CMD ["nginx" "-g" "daemon..."", ce qui signifie démarrer le service nginx pour ; les couches suivantes, puis une autre configuration ou commande. Par conséquent, nous pouvons approximativement deviner où chaque couche de l’image Docker est stockée. 🎜
      🎜Résumé🎜🎜🎜Avec la commande ci-dessus, les utilisateurs peuvent afficher l'image Docker stockée localement sous le système Linux. La couche de l'image Docker est stockée dans le répertoire /var/lib/docker/image/overlay2/imagedb/content/sha256 avec l'ID de l'image comme nom de dossier. Chaque couche est stockée respectivement dans un fichier "réel" ou "diff". 🎜🎜Pour l'emplacement de stockage de chaque couche d'image, vous pouvez la visualiser en exécutant la commande docker history, et rechercher les informations de description de la couche dans le résultat de sortie, afin de deviner approximativement le emplacement de stockage de la couche. 🎜🎜Lors de l'utilisation d'images et de conteneurs Docker, comprendre l'emplacement de stockage des images Docker permet de mieux gérer l'espace de stockage local, ainsi que de sauvegarder et de restaurer les images et les conteneurs 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Apr 06, 2025 am 12:01 AM

Docker est une compétence incontournable pour les ingénieurs DevOps. 1.Docker est une plate-forme conteneurisée open source qui atteint l'isolement et la portabilité par les applications d'emballage et leurs dépendances dans les conteneurs. 2. Docker fonctionne avec les espaces de noms, les groupes de contrôle et les systèmes de fichiers fédérés. 3. L'utilisation de base comprend la création, l'exécution et la gestion des conteneurs. 4. L'utilisation avancée comprend l'utilisation de dockercosive pour gérer les applications multi-container. 5. Les erreurs courantes incluent une défaillance des conteneurs, des problèmes de cartographie des ports et des problèmes de persistance des données. Les compétences de débogage incluent la visualisation des journaux, la saisie des conteneurs et la visualisation d'informations détaillées. 6. L'optimisation des performances et les meilleures pratiques incluent l'optimisation de l'image, les contraintes de ressources, l'optimisation du réseau et les meilleures pratiques pour l'utilisation de dockerfile.

Volumes de docker: gérer les données persistantes dans les conteneurs Volumes de docker: gérer les données persistantes dans les conteneurs Apr 04, 2025 am 12:19 AM

Dockervolumes garantit que les données restent sûres lorsque les conteneurs sont redémarrés, supprimés ou migrés. 1. Créer un volume: dockervolumecreatemydata. 2. Exécutez le conteneur et le volume de montage: dockerrun-it-vmydata: / app / dataubuntubash. 3. L'utilisation avancée comprend le partage de données et la sauvegarde.

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

See all articles