Wie man den Befehl docker desktop module ls verwendet, um Module aufzulisten

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/SystemManagementGroup -.-> docker/version("Show Docker Version") subgraph Lab Skills docker/version -.-> lab-555144{{"Wie man den Befehl docker desktop module ls verwendet, um Module aufzulisten"}} end

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 den GitCommit-Wert aus dem Engine-Objekt innerhalb des Server-Objekts.
  • \n: Fügt ein Zeilenumbruchzeichen hinzu, um die Ausgabe für jedes Modul zu trennen.
  • Containerd GitCommit: {{.Server.Containerd.GitCommit}}: Extrahiert den GitCommit für containerd.
  • Runc GitCommit: {{.Server.Runc.GitCommit}}: Extrahiert den GitCommit für runc.
  • DockerInit GitCommit: {{.Server.DockerInit.GitCommit}}: Extrahiert den GitCommit fü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.