Wie man den Befehl docker context import zum Importieren eines Kontexts verwendet

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 import effektiv nutzen. Wir beginnen damit, einen Docker-Kontext zu erstellen und in eine Datei zu exportieren, um zu demonstrieren, wie Sie Ihre Konfigurationen verpacken können.

Nach dem Export üben Sie, diesen Kontext wieder in Docker zu importieren – sowohl aus der exportierten Datei als auch direkt über die Standardeingabe. Abschließend überprüfen Sie, ob der importierte Kontext korrekt erkannt und in Ihrer Docker-Umgebung verfügbar ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555131{{"Wie man den Befehl docker context import zum Importieren eines Kontexts verwendet"}} docker/ps -.-> lab-555131{{"Wie man den Befehl docker context import zum Importieren eines Kontexts verwendet"}} docker/rm -.-> lab-555131{{"Wie man den Befehl docker context import zum Importieren eines Kontexts verwendet"}} docker/create -.-> lab-555131{{"Wie man den Befehl docker context import zum Importieren eines Kontexts verwendet"}} end

Erstellen und Exportieren eines Docker-Kontexts

In diesem Schritt lernen Sie, wie Sie einen Docker-Kontext erstellen und in eine Datei exportieren. Ein Docker-Kontext ist eine Methode, um Verbindungen zu verschiedenen Docker-Daemons zu verwalten. Standardmäßig verbindet Docker sich mit dem lokalen Daemon. Sie können jedoch Kontexte erstellen, um sich mit entfernten Daemons oder anderen Umgebungen wie Docker Swarm oder Kubernetes zu verbinden.

Zuerst erstellen wir einen neuen Docker-Kontext namens my-context. Wir konfigurieren diesen Kontext so, dass er sich mit dem standardmäßigen lokalen Docker-Daemon verbindet.

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

Dieser Befehl erstellt einen neuen Kontext namens my-context und gibt den Docker-Host als den standardmäßigen Unix-Socket für den lokalen Daemon an.

Als nächstes exportieren wir diesen neu erstellten Kontext in eine Datei namens my-context.tar.gz.

docker context export my-context -o ~/project/my-context.tar.gz

Dieser Befehl exportiert den my-context in eine tar.gz-Datei, die sich in Ihrem ~/project-Verzeichnis befindet. Das Flag -o gibt den Ausgabedateipfad an.

Sie können überprüfen, ob die Datei erstellt wurde, indem Sie den Inhalt des Verzeichnisses ~/project auflisten.

ls ~/project/

In der Ausgabe sollte my-context.tar.gz aufgelistet sein.

Importieren des exportierten Kontexts aus einer Datei

Im vorherigen Schritt haben wir einen Docker-Kontext in die Datei my-context.tar.gz exportiert. In diesem Schritt werden wir diesen Kontext wieder aus der Datei in Docker importieren.

Vor dem Import entfernen wir zunächst den bestehenden my-context, um den Import eines Kontexts zu simulieren, der aktuell nicht vorhanden ist.

docker context rm my-context

Dieser Befehl entfernt den Docker-Kontext namens my-context. Sie können überprüfen, ob er entfernt wurde, indem Sie die Kontexte erneut auflisten.

docker context ls

my-context sollte nun nicht mehr in der Liste erscheinen.

Nun importieren wir den Kontext aus der Datei ~/project/my-context.tar.gz.

docker context import my-context-from-file ~/project/my-context.tar.gz

Dieser Befehl importiert den Kontext aus der angegebenen Datei und benennt den importierten Kontext my-context-from-file.

Nach Abschluss des Imports können Sie die Docker-Kontexte erneut auflisten, um den neu importierten Kontext zu sehen.

docker context ls

Sie sollten nun my-context-from-file in der Liste der Kontexte sehen.

Importieren des exportierten Kontexts über stdin

Im vorherigen Schritt haben wir einen Docker-Kontext aus einer Datei importiert. Eine alternative Methode ist der Import durch direkte Übergabe der exportierten Kontextdaten an den Befehl docker context import über Standard-Eingabe (stdin). Dies ist nützlich, wenn Sie einen Kontext importieren möchten, ohne ihn zuvor in einer Datei zu speichern.

Zuerst entfernen wir den im vorherigen Schritt importierten Kontext, um Konflikte zu vermeiden.

docker context rm my-context-from-file

Nun verwenden wir den cat-Befehl, um den Inhalt der Datei my-context.tar.gz zu lesen und an den docker context import-Befehl weiterzuleiten.

cat ~/project/my-context.tar.gz | docker context import my-context-from-stdin -

In diesem Befehl liest cat ~/project/my-context.tar.gz den Dateiinhalt. Das Pipe-Symbol | leitet die Ausgabe des cat-Befehls als Eingabe an docker context import weiter. Das - am Ende des docker context import-Befehls weist an, die Kontextdaten von der Standard-Eingabe zu lesen. Wir benennen den importierten Kontext my-context-from-stdin.

Nach Abschluss des Befehls können Sie die Docker-Kontexte auflisten, um zu überprüfen, ob der Kontext erfolgreich über stdin importiert wurde.

docker context ls

Sie sollten nun my-context-from-stdin in der Kontextliste sehen.

Überprüfung des importierten Kontexts

In den vorherigen Schritten haben wir einen Docker-Kontext erstellt, exportiert und anschließend mit zwei verschiedenen Methoden importiert: aus einer Datei und über Standard-Eingabe. In diesem letzten Schritt werden wir überprüfen, ob der importierte Kontext funktionsfähig ist und zur Interaktion mit dem Docker-Daemon verwendet werden kann.

Zuerst listen wir die verfügbaren Kontexte auf, um zu bestätigen, dass sowohl my-context-from-file als auch my-context-from-stdin vorhanden sind.

docker context ls

In der Ausgabe sollten beide Kontexte aufgelistet sein.

Nun wechseln wir zum Kontext, den wir über Standard-Eingabe importiert haben, my-context-from-stdin.

docker context use my-context-from-stdin

Dieser Befehl setzt den aktuellen Docker-Kontext auf my-context-from-stdin. Alle nachfolgenden Docker-Befehle verwenden nun diesen Kontext für die Verbindung zum Docker-Daemon.

Um zu überprüfen, ob der Kontext korrekt funktioniert, führen wir einen einfachen Docker-Befehl aus, wie z.B. das Auflisten der laufenden Container. Da wir mit dem lokalen Docker-Daemon verbunden sind, sollte dieser Befehl die gleiche Ausgabe wie docker ps ohne Angabe eines Kontexts zeigen.

docker ps

Falls der Kontext korrekt konfiguriert ist, sollte dieser Befehl erfolgreich ausgeführt werden und die Liste der laufenden Container anzeigen (falls vorhanden).

Abschließend wechseln wir zurück zum Standard-Kontext.

docker context use default

Dieser Befehl setzt den aktuellen Docker-Kontext wieder auf den lokalen Standard-Daemon zurück.

Zusammenfassung

In diesem Lab haben wir gelernt, wie Docker-Kontexte durch Erstellen, Exportieren und Importieren verwaltet werden. Wir begannen mit der Erstellung eines neuen Docker-Kontexts namens my-context, der für die Verbindung zum lokalen Daemon konfiguriert wurde, und exportierten diesen Kontext anschließend in eine tar.gz-Datei.

Nach dem Export übten wir das erneute Importieren des Kontexts in Docker. Zuerst entfernten wir den ursprünglichen Kontext, um den Import eines neuen zu simulieren, und importierten dann erfolgreich den Kontext aus der zuvor erstellten Datei mit dem Befehl docker context import, wobei wir ihm einen neuen Namen gaben, um ihn zu unterscheiden.