Docker Inspect: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Docker inspect ist ein Befehl in der Docker-Engine, der es Administratoren und Entwicklern ermöglicht, tiefgreifende Informationen über einen laufenden Docke…“)
 
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
−
Docker inspect ist ein Befehl in der Docker-Engine, der es Administratoren und Entwicklern ermöglicht, tiefgreifende Informationen über einen laufenden Docker-Container oder ein Docker-Image zu erhalten.
+
=Standard Syntax=
 +
*Der Standard Syntax sieht wie folgt aus.
 +
docker inspect [OPTIONS] NAME
 +
*Standartmäßig gibt docker inspect, die Informationen im Json format zurück.
  
−
Mit dem Befehl kann man zum Beispiel die Konfiguration eines Containers einsehen, wie z.B. dessen Netzwerk- und Speicherkonfiguration. Man kann auch Informationen über den Host-Container, auf dem der Docker-Container ausgeführt wird, abrufen, einschließlich Informationen zu Ressourcen wie CPU und RAM.
+
=Anzeigen von Docker Image Informationen mit Docker Inspect=
 +
*Wir inspizieren ein nginx Image
 +
docker run --name nginx -p 80:80 -d nginx
 +
docker inspect nginx
 +
*Dieser Befehl gibt uns Informationen über das nginx Image aus.
 +
*Ein Teil dieser Ausgabe sieht so aus
 +
<pre>
 +
"Architecture": "amd64",
 +
"Os": "linux",
 +
"Size": 132089228,  
 +
"VirtualSize": 132089228,
 +
</pre>
  
−
Darüber hinaus kann man mit docker inspect auch Metadaten über ein Docker-Image abrufen, wie z.B. den vollständigen Pfad zum Image-Repository, die Image-ID und die Informationen über den Image-Ersteller.
+
=Filtern von Docker Inspect Informationen=
 +
*Da bei dem Befehl sehr viele Inforamtionen bereitgestellt werden, ist es manchmal sehr nützlich Informatioen herauszufiltern
 +
==Beispiel Herausfiltern des Betriebsystems==
 +
<nowiki> docker inspect --format='{{.Platform}}' nginx </nowiki>
 +
<pre>
 +
linux
 +
</pre>
  
−
Der Befehl docker inspect kann in der Kommandozeile ausgeführt werden und liefert die Informationen in einem JSON-Format zurück, das leicht maschinell verarbeitet werden kann.
+
==Beispiel Herausfiltern einer verschachtelten Information==
−
 
+
<pre>
−
Insgesamt ist docker inspect ein mächtiges Werkzeug für Docker-Administratoren und Entwickler, da es ihnen eine detaillierte Sicht auf den Zustand und die Konfiguration von Docker-Containern und -Images ermöglicht.
+
"Config": {
−
Mario Zimmermann
+
            "Hostname": "",
−
Kannst du mir beispeiel zeigen
+
            "Domainname": "",
−
 
+
            "User": "",
−
Ja, hier ist ein Beispiel für die Verwendung von docker inspect:
+
            "AttachStdin": false,
−
 
+
            "AttachStdout": false,
−
Angenommen, Sie möchten Informationen über einen laufenden Docker-Container mit dem Namen "webapp" abrufen. Sie können docker inspect wie folgt aufrufen:
+
            "AttachStderr": false,
−
 
+
            "ExposedPorts": {
−
docker inspect webapp
+
                "80/tcp": {}
−
 
+
            },
−
Dieser Befehl gibt Ihnen eine Ausgabe in JSON-Format zurück, die detaillierte Informationen über den Container enthält. Hier ist ein Auszug aus einer möglichen Ausgabe:
+
</pre>
 +
*Wir wollen aus der Config die ExposedPorts herausfiltern
 +
<nowiki> docker inspect --format='{{.Config.ExposedPorts}}' nginx </nowiki>
 +
<pre>
 +
map[80/tcp:{}]
 +
</pre>
  
 +
==Beispiel Herausfiltern der IP Adresse==
 +
<nowiki> docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx </nowiki>
 
<pre>
 
<pre>
−
 
+
172.17.0.4
−
[
 
−
    {
 
−
        "Id": "d8a8dbc44a091e6b79b6ab2d6f0cd84c2c3b16b13c1b3f1b6e26e9855dc107c9",
 
−
        "Created": "2022-12-22T22:08:19.2970892Z",
 
−
        "Path": "/bin/bash",
 
−
        "Args": [],
 
−
        "State": {
 
−
            "Status": "running",
 
−
            "Running": true,
 
−
            "Paused": false,
 
−
            ...
 
−
        },
 
−
        "Image": "sha256:4dfbcef87dc064ca9cfd1b25a1493dd98d66aa52b8f02b3a84234074a3a37a8f",
 
−
        ...
 
−
        "NetworkSettings": {
 
−
            "Bridge": "",
 
−
            "SandboxID": "c48ad6f9d6191047e0e04a7a49a06d14de7c22b6eefb7fcb1c16e04c81b9c15b",
 
−
            ...
 
−
        },
 
−
        ...
 
−
    }
 
−
]
 
 
</pre>
 
</pre>
−
In diesem Beispiel können Sie sehen, dass die Ausgabe Informationen über den Container-Status (z.B. "running"), das erstellte Datum, den Pfad zur ausgeführten Anwendung, das Image, aus dem der Container erstellt wurde, und viele weitere Details enthält.
 
−
 
−
Sie können auch docker inspect verwenden, um Informationen über ein Docker-Image abzurufen, indem Sie den Befehl wie folgt aufrufen:
 
−
 
−
docker inspect <image_name>:<tag>
 
−
 
−
Zum Beispiel:
 
−
 
−
docker inspect ubuntu:20.04
 
−
 
−
Dies gibt Ihnen eine Ausgabe in JSON-Format, die Informationen über das Image, einschließlich des Repository-Pfads, der Image-ID und Informationen über den Image-Ersteller, enthält.
 

Aktuelle Version vom 13. Februar 2023, 14:19 Uhr

Standard Syntax

  • Der Standard Syntax sieht wie folgt aus.
docker inspect [OPTIONS] NAME
  • Standartmäßig gibt docker inspect, die Informationen im Json format zurück.

Anzeigen von Docker Image Informationen mit Docker Inspect

  • Wir inspizieren ein nginx Image
docker run --name nginx -p 80:80 -d nginx
docker inspect nginx
  • Dieser Befehl gibt uns Informationen über das nginx Image aus.
  • Ein Teil dieser Ausgabe sieht so aus
"Architecture": "amd64",
"Os": "linux",
"Size": 132089228, 
"VirtualSize": 132089228,

Filtern von Docker Inspect Informationen

  • Da bei dem Befehl sehr viele Inforamtionen bereitgestellt werden, ist es manchmal sehr nützlich Informatioen herauszufiltern

Beispiel Herausfiltern des Betriebsystems

 docker inspect --format='{{.Platform}}' nginx 
 linux

Beispiel Herausfiltern einer verschachtelten Information

"Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
  • Wir wollen aus der Config die ExposedPorts herausfiltern
 docker inspect --format='{{.Config.ExposedPorts}}' nginx 
map[80/tcp:{}]

Beispiel Herausfiltern der IP Adresse

 docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx 
172.17.0.4