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