Einführung
In diesem Lab lernen Sie, wie Sie Docker Desktop-Module mit dem Befehl docker version auflisten können. Wir untersuchen verschiedene Möglichkeiten, diese Informationen anzuzeigen, darunter das Auflisten aller Module, die Ausgabe im JSON-Format und das Extrahieren nur der Modul-IDs. Diese praktische Übung hilft Ihnen, die Komponenten Ihrer Docker-Installation zu verstehen und Informationen darüber abzurufen.
Alle Docker Desktop-Module auflisten
In diesem Schritt lernen Sie, wie Sie alle Docker Desktop-Module mit dem Befehl docker version auflisten können. Der Befehl docker version liefert detaillierte Informationen über die Docker-Installation, einschließlich der Client- und Server-Komponenten sowie der Module, die Teil der Docker Desktop-Installation sind.
Um alle Docker Desktop-Module aufzulisten, öffnen Sie Ihr Terminal und führen Sie folgenden Befehl aus:
docker version
Dieser Befehl gibt umfangreiche Informationen über Ihre Docker-Installation aus. Achten Sie auf Abschnitte wie Client und Server. In diesen Abschnitten finden Sie Details zu verschiedenen Komponenten und Modulen.
Beispielsweise könnte die Ausgabe wie folgt aussehen (die genaue Ausgabe kann je nach Docker-Version und Installation variieren):
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.16.15
Git commit: f2213a1
Built: Thu Oct 27 00:18:36 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.16.15
Git commit: 3056e8c
Built: Thu Oct 27 00:17:23 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
In dieser Ausgabe sehen Sie Informationen über Docker Engine, containerd, runc und docker-init. Dies sind einige der wichtigsten Module, die die Docker-Umgebung ausmachen. Der Befehl docker version ist ein nützliches Werkzeug, um die verschiedenen Komponenten Ihrer Docker-Installation und deren Versionen zu verstehen.
Docker Desktop-Module im JSON-Format auflisten
Im vorherigen Schritt haben wir den Befehl docker version verwendet, um die Docker Desktop-Module aufzulisten. Die Standardausgabe ist für Menschen lesbar, aber manchmal benötigen Sie die Ausgabe in einem strukturierten Format wie JSON für Skripte oder weitere Verarbeitung.
Der Befehl docker version unterstützt ein --format-Flag, mit dem Sie das Ausgabeformat mithilfe von Go's text/template-Paket angeben können. Um die Ausgabe im JSON-Format zu erhalten, können Sie die Vorlage json . verwenden.
Führen Sie folgenden Befehl in Ihrem Terminal aus:
docker version --format '{{json .}}'
Dieser Befehl gibt dieselben Informationen wie docker version aus, jedoch als JSON-Objekt formatiert. Der Teil {{json .}} ist die Vorlage, die Docker anweist, die gesamte Ausgabe (.) als JSON zu formatieren.
Die Ausgabe wird eine einzelne Zeile mit JSON-Daten sein, die etwa so aussehen könnte (zur besseren Lesbarkeit formatiert):
{
"Client": {
"Version": "20.10.21",
"ApiVersion": "1.41",
"GoVersion": "go1.16.15",
"GitCommit": "f2213a1",
"Built": "Thu Oct 27 00:18:36 2022",
"OsArch": "linux/amd64",
"Context": "default",
"Experimental": true
},
"Server": {
"Engine": {
"Version": "20.10.21",
"ApiVersion": "1.41",
"MinAPIVersion": "1.12",
"GoVersion": "go1.16.15",
"GitCommit": "3056e8c",
"Built": "Thu Oct 27 00:17:23 2022",
"OsArch": "linux/amd64",
"Experimental": false
},
"Containerd": {
"Version": "1.6.8",
"GitCommit": "9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b"
},
"Runc": {
"Version": "1.1.4",
"GitCommit": "v1.1.4-0-g5fd4c4d"
},
"DockerInit": {
"Version": "0.19.0",
"GitCommit": "de40ad0"
}
}
}
Diese JSON-Ausgabe enthält dieselben Informationen wie die Standardausgabe, jedoch in einem strukturierten Format, das für Programme einfach zu verarbeiten ist. Dies ist besonders nützlich, wenn Sie in Skripten bestimmte Informationen aus der docker version-Ausgabe extrahieren möchten.
Nur die IDs der Docker Desktop-Module auflisten
In den vorherigen Schritten haben wir gelernt, wie man alle Docker Desktop-Module auflistet und die Ausgabe als JSON formatiert. Nun wollen wir untersuchen, wie man spezifische Informationen extrahiert, wie z.B. die Git-Commit-IDs der Module. Dies ist nützlich, wenn Sie nur bestimmte Daten für Skripte oder Automatisierung benötigen.
Wir können wieder das --format-Flag mit einer benutzerdefinierten Vorlage verwenden, um dies zu erreichen. Durch die Analyse der JSON-Ausgabe aus dem vorherigen Schritt können wir sehen, dass die Git-Commit-IDs unter Server.Engine.GitCommit, Server.Containerd.GitCommit, Server.Runc.GitCommit und Server.DockerInit.GitCommit zu finden sind.
Wir können eine Vorlage erstellen, um diese spezifischen Felder zu extrahieren. Führen Sie folgenden Befehl in Ihrem Terminal aus:
docker version --format 'Engine GitCommit: {{.Server.Engine.GitCommit}}\nContainerd GitCommit: {{.Server.Containerd.GitCommit}}\nRunc GitCommit: {{.Server.Runc.GitCommit}}\nDockerInit GitCommit: {{.Server.DockerInit.GitCommit}}'
Lassen Sie uns die Vorlage aufschlüsseln:
Engine GitCommit: {{.Server.Engine.GitCommit}}: Dieser Teil extrahiert denGitCommit-Wert aus demEngine-Objekt innerhalb desServer-Objekts.\n: Fügt ein Zeilenumbruchzeichen hinzu, um die Ausgabe für jedes Modul zu trennen.Containerd GitCommit: {{.Server.Containerd.GitCommit}}: Extrahiert denGitCommitfür containerd.Runc GitCommit: {{.Server.Runc.GitCommit}}: Extrahiert denGitCommitfür runc.DockerInit GitCommit: {{.Server.DockerInit.GitCommit}}: Extrahiert denGitCommitfür docker-init.
Die Ausgabe zeigt die Git-Commit-ID für jedes angegebene Modul, ähnlich wie hier:
Engine GitCommit: 3056e8c
Containerd GitCommit: 9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b
Runc GitCommit: v1.1.4-0-g5fd4c4d
DockerInit GitCommit: de40ad0
Dies demonstriert die Leistungsfähigkeit des --format-Flags und von Go-Vorlagen, um spezifische Daten aus Docker-Befehlen zu extrahieren. Sie können die Vorlage anpassen, um beliebige Felder aus der docker version-Ausgabe zu extrahieren.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man Docker Desktop-Module mit dem Befehl docker version auflistet. Wir haben untersucht, wie man alle Module und deren Details anzeigt, was wertvolle Informationen über die verschiedenen Komponenten der Docker-Installation liefert, wie Docker Engine, containerd, runc und docker-init, zusammen mit ihren Versionen.
Außerdem haben wir gelernt, wie man Docker Desktop-Module im JSON-Format auflistet, was für die programmatische Verarbeitung und Integration mit anderen Tools nützlich ist. Abschließend haben wir behandelt, wie man nur die IDs der Docker Desktop-Module anzeigt, was eine prägnante Ausgabe zur schnellen Identifikation bietet.



