Docker ist eine Open-Source-Containertechnologie, mit der Anwendungen erstellt, veröffentlicht und ausgeführt werden können. Mithilfe von Docker-Images können Benutzer vorgefertigte Anwendungen oder Containerumgebungen einfach und schnell herunterladen und installieren.
Docker-Image besteht aus mehreren Ebenen (Ebene), jede Ebene enthält einen Schnappschuss des Dateisystems. Wenn ein Benutzer ein Docker-Image abruft, erhält er tatsächlich alle Ebenen des Images aus der Docker-Registrierung und kombiniert sie, um ein vollständiges Docker-Image zu erstellen.
Also, wo ist der lokale Speicherort des Docker-Images? In diesem Artikel wird es Ihnen ausführlich vorgestellt.
Zuerst müssen wir die aktuelle lokale Docker-Image-Liste anzeigen. Geben Sie im Terminal den folgenden Befehl ein:
docker images
Nach der Ausführung wird eine Liste aller Docker-Images auf dem Computer aufgelistet, einschließlich Image-ID, Image-Name, Image-Label, Image-Größe und anderen Informationen. Wie im Bild unten gezeigt:
Wie auf dem Bild oben zu sehen ist, hat jedes Bild eine eindeutige ID, einen Namen und einige Tags (auch bekannt für die Version). Unter diesen stellt das REPOSITORY-Feld den Namen des Bildes dar, das TAG-Feld stellt die Beschriftung des Bildes dar und das IMAGE-ID-Feld ist die eindeutige Kennung des Bildes.
In Docker besteht jedes Bild aus mehreren Ebenen (Ebene). Wenn ein Benutzer ein Docker-Image herunterlädt oder erstellt, werden daher tatsächlich alle Ebenen des Images in den lokalen Speicher heruntergeladen.
In Linux-Systemen werden Docker-Images tatsächlich im Verzeichnis /var/lib/docker
gespeichert. Geben Sie im Terminal den folgenden Befehl ein: /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
der Hauptspeicherort, an dem Docker Bilder speichert. Wie im Bild unten gezeigt:
# 🎜🎜 ##🎜🎜#Im Verzeichnis /var/lib/docker/image/overlay2/imagedb/content/sha256
werden alle heruntergeladenen Docker-Images (benannt mit Image-ID) gespeichert, d. h. Speicherort aller Ebenen. In jedem Bild-ID-Verzeichnis gibt es eine Datei mit dem Namen „real“ oder „diff“, die den Speicherort dieser Ebene darstellt. #🎜🎜#/var/lib/docker/image/overlay2/imagedb/content/sha256
mit der Image-ID als Ordnernamen gespeichert. Jede Ebene wird in einer „realen“ bzw. „diff“-Datei gespeichert. #🎜🎜##🎜🎜#Sie können den Speicherort jeder Bildebene anzeigen, indem Sie den Befehl Docker History
ausführen und im Ausgabeergebnis ungefähr nach den Beschreibungsinformationen der Ebene suchen Erraten Sie den Speicherort der Ebene. #🎜🎜##🎜🎜#Bei der Verwendung von Docker-Images und -Containern kann das Verständnis des Speicherorts von Docker-Images den lokalen Speicherplatz besser verwalten sowie Docker-Images und -Container sichern und wiederherstellen. #🎜🎜#Das obige ist der detaillierte Inhalt vonÜberprüfen Sie, wo das Docker-Image gezogen und platziert wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!