Verwendung des docker context export Befehls zum Exportieren eines Kontexts

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 den Befehl docker context export verwenden, um einen Docker-Kontext zu exportieren. Wir beginnen mit der Erstellung eines neuen Docker-Kontexts, der es Ihnen ermöglicht, Ihre Docker-CLI mit verschiedenen Docker-Daemons zu verbinden.

Nach der Erstellung eines neuen Kontexts üben Sie das Exportieren dieses Kontexts. Sie lernen, wie Sie den Kontext in eine Datei exportieren können, um ihn später zu verwenden oder zu teilen, sowie wie Sie den Kontext direkt in die Standardausgabe (STDOUT) exportieren. Diese praktische Übung demonstriert die Anwendung des Befehls docker context export zur Verwaltung und Weitergabe Ihrer Docker-Umgebungen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555130{{"Verwendung des docker context export Befehls zum Exportieren eines Kontexts"}} docker/inspect -.-> lab-555130{{"Verwendung des docker context export Befehls zum Exportieren eines Kontexts"}} docker/create -.-> lab-555130{{"Verwendung des docker context export Befehls zum Exportieren eines Kontexts"}} end

Einen neuen Docker-Kontext erstellen

In diesem Schritt lernen Sie, wie Sie einen neuen Docker-Kontext erstellen. Ein Docker-Kontext ermöglicht es Ihrer Docker-CLI, sich mit einem anderen Docker-Daemon zu verbinden. Dies ist nützlich, wenn Sie Docker auf einem Remote-Rechner oder in einer anderen Umgebung verwalten möchten.

Standardmäßig verbindet sich Ihre Docker-CLI mit dem lokalen Docker-Daemon. Den aktuellen Kontext können Sie mit dem Befehl docker context ls anzeigen.

docker context ls

Die Ausgabe sollte ähnlich wie folgt aussehen und anzeigen, dass der Standardkontext aktiv ist:

NAME                DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST environment variable   unix:///var/run/docker.sock

Nun erstellen wir einen neuen Kontext. Wir nennen ihn my-context. In diesem Beispiel zeigen wir ihn weiterhin auf den lokalen Docker-Daemon, in der Praxis würden Sie ihn jedoch auf einen Remote-Daemon verweisen.

Verwenden Sie den Befehl docker context create gefolgt vom Kontextnamen und dem Endpunkt.

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

Nach der Erstellung des Kontexts erhalten Sie eine Bestätigungsmeldung:

my-context
Successfully created context "my-context"

Lassen Sie uns nun die Kontexte erneut auflisten, um den neu erstellten Kontext zu sehen.

docker context ls

Jetzt sollten sowohl default als auch my-context aufgelistet sein.

NAME                DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST environment variable   unix:///var/run/docker.sock
my-context                                                    unix:///var/run/docker.sock

Um zum neuen Kontext zu wechseln, verwenden Sie den Befehl docker context use gefolgt vom Kontextnamen.

docker context use my-context

Sie erhalten eine Meldung, die den Kontextwechsel bestätigt:

my-context
Current context is now "my-context"

Abschließend listen wir die Kontexte noch einmal auf, um zu bestätigen, dass my-context nun der aktive Kontext ist (gekennzeichnet durch das Sternchen *).

docker context ls

Die Ausgabe sollte my-context als aktiven Kontext anzeigen:

NAME                DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default             Current DOCKER_HOST environment variable   unix:///var/run/docker.sock
my-context *                                                  unix:///var/run/docker.sock

Docker-Kontext in eine Datei exportieren

In diesem Schritt lernen Sie, wie Sie einen Docker-Kontext in eine Datei exportieren. Durch den Export eines Kontexts können Sie dessen Konfiguration in einer Datei speichern, die dann auf einem anderen System geteilt oder importiert werden kann. Dies ist besonders nützlich, um den Zugriff auf Remote-Docker-Umgebungen zu teilen.

Wir werden den im vorherigen Schritt erstellten my-context exportieren. Dazu verwenden wir den Befehl docker context export, gefolgt vom Kontextnamen und dem gewünschten Ausgabedateipfad. Wir exportieren ihn in eine Datei namens my-context.dockercontext im Verzeichnis ~/project.

docker context export my-context > ~/project/my-context.dockercontext

Dieser Befehl exportiert die Konfiguration von my-context in die angegebene Datei. Bei erfolgreicher Ausführung wird keine Ausgabe in der Konsole angezeigt.

Um zu überprüfen, ob die Datei erstellt wurde, können wir die Dateien im Verzeichnis ~/project mit dem ls-Befehl auflisten.

ls ~/project/

Sie sollten my-context.dockercontext in der Liste der Dateien sehen.

Den Inhalt der exportierten Kontextdatei können wir mit dem cat-Befehl anzeigen.

cat ~/project/my-context.dockercontext

Die Ausgabe zeigt die Konfiguration von my-context im JSON-Format. Sie enthält Informationen über den Kontext, wie z.B. seinen Namen und den Docker-Endpunkt.

{
  "Name": "my-context",
  "Metadata": null,
  "Endpoints": {
    "docker": {
      "Host": "unix:///var/run/docker.sock",
      "SkipTLSVerify": false
    }
  },
  "TLSMaterial": null
}

Diese exportierte Datei kann nun verwendet werden, um den Kontext auf einem anderen System mit dem Befehl docker context import zu importieren.

Docker-Kontext nach STDOUT exportieren

In diesem Schritt lernen Sie, wie Sie einen Docker-Kontext direkt in die Standardausgabe (STDOUT) exportieren. Dies ist nützlich, wenn Sie die Kontextkonfiguration schnell einsehen oder an einen anderen Befehl weiterleiten möchten, ohne sie in einer Datei zu speichern.

Wir verwenden erneut den Befehl docker context export mit dem zuvor erstellten my-context. Diesmal leiten wir die Ausgabe jedoch nicht in eine Datei um.

docker context export my-context

Die Ausführung dieses Befehls gibt die JSON-Darstellung der my-context-Konfiguration direkt in Ihr Terminal aus.

{
  "Name": "my-context",
  "Metadata": null,
  "Endpoints": {
    "docker": {
      "Host": "unix:///var/run/docker.sock",
      "SkipTLSVerify": false
    }
  },
  "TLSMaterial": null
}

Diese Ausgabe entspricht dem Inhalt, der im vorherigen Schritt in der Datei my-context.dockercontext gespeichert wurde. Der Export nach STDOUT ist eine praktische Methode, um die Kontextkonfiguration direkt einzusehen.

Sie können diese Ausgabe auch an andere Befehle weiterleiten, um sie weiterzuverarbeiten. Beispielsweise können Sie sie an jq zur JSON-Parsing oder an grep zur Suche nach bestimmten Informationen übergeben.

Um beispielsweise den Docker-Endpunkt aus dem exportierten Kontext zu finden:

docker context export my-context | grep "unix:///var/run/docker.sock"

Dieser Befehl exportiert den Kontext nach STDOUT und verwendet dann grep, um die Zeile mit "unix:///var/run/docker.sock" zu finden. Die Ausgabe lautet:

      "Host": "unix:///var/run/docker.sock",

Dies zeigt, wie Sie einfach mit der Kontextkonfiguration direkt in der Kommandozeile arbeiten können, ohne Zwischendateien zu erstellen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie Docker-Kontexte erstellt und verwaltet werden. Wir begannen mit dem Verständnis, was ein Docker-Kontext ist und wie bestehende Kontexte mit docker context ls aufgelistet werden können. Anschließend erstellten wir einen neuen Kontext namens my-context mit docker context create und zeigten, wie der Docker-Endpunkt angegeben wird. Schließlich übten wir das Wechseln zwischen Kontexten mit docker context use.

Nach der Erstellung und dem Wechsel von Kontexten untersuchten wir den Befehl docker context export. Wir lernten, wie ein bestimmter Docker-Kontext in eine Datei exportiert wird, was das Teilen oder Sichern von Konfigurationen vereinfacht. Zudem sahen wir, wie die Kontextkonfiguration direkt in die Standardausgabe exportiert wird, was Flexibilität für Skripte oder die sofortige Verwendung bietet. Diese Schritte vermittelten ein umfassendes Verständnis für die Verwaltung und den Export von Docker-Kontexten zur Verbindung mit verschiedenen Docker-Daemons.