Verwendung des docker context inspect Befehls zur Anzeige von Kontextdetails

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 untersuchen wir, wie der Befehl docker context inspect verwendet wird, um detaillierte Informationen über Docker-Kontexte anzuzeigen. Docker-Kontexte sind entscheidend für die Verwaltung von Verbindungen zu verschiedenen Docker-Daemons. Wir beginnen mit der Überprüfung des standardmäßigen Docker-Kontexts, der eine Verbindung zum lokalen Daemon herstellt.

Anschließend erstellen wir zu Demonstrationszwecken einen neuen Kontext und verwenden dann docker context inspect, um dessen Details anhand des Namens zu untersuchen. Abschließend lernen wir, wie die Ausgabe des inspect-Befehls auf verschiedene Arten formatiert werden kann, insbesondere als JSON und mithilfe einer Go-Template, um spezifische Informationen über einen Kontext zu extrahieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/inspect -.-> lab-555132{{"Verwendung des docker context inspect Befehls zur Anzeige von Kontextdetails"}} docker/create -.-> lab-555132{{"Verwendung des docker context inspect Befehls zur Anzeige von Kontextdetails"}} end

Standard-Docker-Kontext untersuchen

In diesem Schritt untersuchen wir den standardmäßigen Docker-Kontext. Ein Docker-Kontext ist eine Methode, um Verbindungen zu verschiedenen Docker-Daemons zu verwalten. Standardmäßig verwendet Docker einen Kontext namens default, der eine Verbindung zum lokalen Docker-Daemon herstellt.

Um den standardmäßigen Docker-Kontext zu untersuchen, verwenden wir den Befehl docker context inspect gefolgt vom Kontextnamen.

docker context inspect default

Dieser Befehl gibt detaillierte Informationen über den default-Kontext aus, einschließlich seines Endpunkts, Typs und anderer Konfigurationsdetails. Die Ausgabe erfolgt im JSON-Format.

[
  {
    "Name": "default",
    "Current": true,
    "Endpoint": {
      "Docker": {
        "Host": "unix:///var/run/docker.sock"
      }
    },
    "Metadata": {},
    "Storage": "meta/contexts/default"
  }
]

Die Ausgabe zeigt, dass der default-Kontext der aktuelle Kontext ist ("Current": true) und sein Endpunkt auf unix:///var/run/docker.sock gesetzt ist, was der standardmäßige Unix-Socket für den Docker-Daemon auf Linux-Systemen ist.

Einen neuen Kontext für Demonstrationszwecke erstellen

In diesem Schritt erstellen wir einen neuen Docker-Kontext. Durch das Anlegen eines neuen Kontexts können Sie eine Verbindung zu einem anderen Docker-Daemon definieren, der sich auf einem entfernten Rechner oder in einer anderen Konfiguration auf demselben Rechner befinden kann. Für diese Demonstration erstellen wir einen Kontext, der weiterhin auf den lokalen Docker-Daemon verweist, jedoch unter einem anderen Namen.

Um einen neuen Kontext zu erstellen, verwenden wir den Befehl docker context create gefolgt vom Namen des neuen Kontexts und den Endpunkt-Informationen. Da wir uns mit dem lokalen Daemon verbinden, bleibt der Endpunkt derselbe wie beim Standardkontext: unix:///var/run/docker.sock.

Lassen Sie uns einen neuen Kontext namens my-context erstellen.

docker context create my-context --docker "host=unix:///var/run/docker.sock"

Nach Ausführung dieses Befehls sollte eine Ausgabe erscheinen, die bestätigt, dass der Kontext erstellt wurde.

my-context

Dies bestätigt, dass ein neuer Kontext namens my-context erfolgreich erstellt wurde, der auf den lokalen Docker-Daemon verweist.

Den neu erstellten Kontext anhand des Namens untersuchen

Im vorherigen Schritt haben wir einen neuen Docker-Kontext namens my-context erstellt. Nun wollen wir diesen neu angelegten Kontext untersuchen, um seine Details einzusehen. Ähnlich wie bei der Überprüfung des Standardkontexts verwenden wir den Befehl docker context inspect, diesmal jedoch mit dem Namen unseres neuen Kontexts.

docker context inspect my-context

Dieser Befehl zeigt die Konfigurationsdetails des gerade erstellten my-context an. Die Ausgabe erfolgt erneut im JSON-Format.

[
  {
    "Name": "my-context",
    "Current": false,
    "Endpoint": {
      "Docker": {
        "Host": "unix:///var/run/docker.sock"
      }
    },
    "Metadata": {},
    "Storage": "meta/contexts/my-context"
  }
]

Beachten Sie, dass die Ausgabe für my-context dem default-Kontext ähnelt, da beide auf den lokalen Docker-Daemon verweisen. Allerdings ist das Feld "Current" für my-context auf false gesetzt, was bedeutet, dass es nicht der aktuell aktive Kontext ist. Der default-Kontext bleibt weiterhin der aktive Kontext.

Kontext untersuchen und Ausgabe als JSON formatieren

In diesem Schritt werden wir explizit anfordern, dass die Ausgabe des docker context inspect-Befehls im JSON-Format erfolgt. Obwohl die Standardausgabe bereits JSON ist, ist die Verwendung des Flags --format json eine gute Praxis, wenn Sie speziell JSON-Ausgabe benötigen, beispielsweise um die Ausgabe an andere Tools zur Weiterverarbeitung zu übergeben.

Wir werden den im vorherigen Schritt erstellten my-context untersuchen und die Ausgabe als JSON formatieren.

docker context inspect my-context --format json

Dieser Befehl erzeugt die gleiche JSON-Ausgabe wie im vorherigen Schritt, demonstriert jedoch explizit die Verwendung des --format-Flags zur Angabe des Ausgabeformats.

[
  {
    "Name": "my-context",
    "Current": false,
    "Endpoint": {
      "Docker": {
        "Host": "unix:///var/run/docker.sock"
      }
    },
    "Metadata": {},
    "Storage": "meta/contexts/my-context"
  }
]

Die Verwendung des --format json-Flags ist besonders nützlich, wenn Sie die Ausgabe von Docker-Befehlen programmatisch verarbeiten möchten.

Kontext untersuchen und Ausgabe mit Go-Template formatieren

In diesem letzten Schritt untersuchen wir, wie die Ausgabe von docker context inspect mit einem Go-Template formatiert werden kann. Dies ist eine leistungsstarke Funktion, die es ermöglicht, spezifische Informationen aus der JSON-Ausgabe zu extrahieren und in einem benutzerdefinierten Format anzuzeigen.

Wir werden den my-context untersuchen und ein Go-Template verwenden, um nur den Kontextnamen und den Docker-Host-Endpunkt anzuzeigen. Die Template-Syntax verwendet doppelte geschweifte Klammern {{ }}, um Ausdrücke einzuschließen. Auf Felder innerhalb der JSON-Ausgabe kann über die Punktnotation zugegriffen werden, zum Beispiel .Name für den Kontextnamen und .Endpoint.Docker.Host für den Docker-Host-Endpunkt.

docker context inspect my-context --format '{{.Name}}: {{.Endpoint.Docker.Host}}'

Dieser Befehl verwendet das angegebene Go-Template zur Formatierung der Ausgabe. Sie sollten den Namen des Kontexts gefolgt von seinem Docker-Host-Endpunkt sehen.

my-context: unix:///var/run/docker.sock

Dies demonstriert, wie Go-Templates verwendet werden können, um die Ausgabe von Docker-Befehlen anzupassen und so die Extraktion und Verarbeitung spezifischer Daten zu vereinfachen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie der Befehl docker context inspect verwendet wird, um Details über Docker-Kontexte anzuzeigen. Wir begannen mit der Untersuchung des Standardkontexts, der eine Verbindung zum lokalen Docker-Daemon herstellt. Anschließend erstellten wir zu Demonstrationszwecken einen neuen Kontext namens my-context, der ebenfalls auf den lokalen Daemon verweist.

Wir haben den Befehl docker context inspect weiter untersucht, indem wir den neu erstellten Kontext anhand seines Namens inspiziert haben. Abschließend haben wir gezeigt, wie die Ausgabe des inspect-Befehls auf verschiedene Arten formatiert werden kann - insbesondere als JSON und mit einem Go-Template - um spezifische Informationen über einen Kontext zu extrahieren und anzuzeigen.