Vérifiez où l'image Docker est extraite et placée
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.
- 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
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 :
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.
- 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/
执行后,终端将会显示出/var/lib/docker/目录下所有的文件和文件夹列表。其中,/var/lib/docker/image
文件夹是Docker储存镜像的主要位置。如下图所示:
在/var/lib/docker/image/overlay2/imagedb/content/sha256
目录下,存储了所有已下载的Docker镜像(以镜像ID命名),即所有层的存储位置。在每个镜像ID目录下,都有一个名为“real”或者“diff”文件,代表该层的存储位置。
- 确认镜像层存储位置
对于Docker镜像的每一层,其存储位置可以通过执行下面的命令来确认:
docker history <image_name>:<tag>
例如,对于nginx镜像,执行命令:
docker history nginx:latest
将会输出以下结果:
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
其中,每一层的SIZE字段表示该层的实际占用空间大小。该命令输出结果的第一列就是Docker镜像每一层的ID,从上到下依次代表镜像的各个层。
我们可以根据这个命令的输出结果,确认每一层具体的存储位置。例如,在上述命令的输出结果中,最后一列是该层的描述信息,其中包括了该层的原始命令和参数。
对于nginx镜像的第一层(ID为“84cf8d0a2e04”),该层的CMD为“CMD ["nginx" "-g" "daemon…””,即启动nginx服务;对于后面的各层,则是其它一些配置或命令。因此,我们可以大致猜测Docker镜像每一层的存储位置。
- 总结
通过上述命令,用户可以在Linux系统下查看本地存储的Docker镜像。Docker镜像的层以镜像ID为文件夹名存放在/var/lib/docker/image/overlay2/imagedb/content/sha256
目录中。每一层分别存储在“real”或者“diff”文件中。
对于每一层镜像的存储位置,可以通过执行docker history
rrreee
/var/lib/docker/image
est l'emplacement principal où Docker stocke les images. Comme le montre l'image ci-dessous :

/ 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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.

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.

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)

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.

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)

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 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).

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).
