Einführung
In diesem Lab lernen Sie, wie Sie Docker-Kontexte verwalten, mit besonderem Fokus auf deren Entfernung. Sie beginnen mit der Erstellung eines neuen Docker-Kontexts, um den Prozess des Hinzufügens von Kontexten zu verstehen. Anschließend lernen Sie, wie Sie bestehende Kontexte auflisten, um verfügbare Konfigurationen einzusehen und den aktuell aktiven Kontext zu identifizieren. Der Kern des Labs besteht darin, den Befehl docker context rm zu verwenden, um einen bestimmten Kontext zu entfernen. Abschließend untersuchen Sie das Verhalten beim Versuch, den aktuell aktiven Kontext ohne die Force-Option zu entfernen, und entfernen ihn dann erfolgreich mit der Force-Option.
Neuen Docker-Kontext erstellen
In diesem Schritt lernen Sie, wie Sie einen neuen Docker-Kontext erstellen. Ein Docker-Kontext ist eine Möglichkeit, Verbindungen zu verschiedenen Docker-Daemons zu verwalten. Standardmäßig verwendet Docker den default-Kontext, der eine Verbindung zum lokalen Docker-Daemon herstellt. Sie können neue Kontexte erstellen, um sich mit entfernten Docker-Daemons oder anderen Orchestrierungstools zu verbinden.
Um einen neuen Docker-Kontext zu erstellen, verwenden wir den Befehl docker context create. Die grundlegende Syntax lautet docker context create <Kontextname>. Lassen Sie uns einen neuen Kontext mit dem Namen my-context erstellen.
docker context create my-context
Nach Ausführung des Befehls sollten Sie eine Ausgabe sehen, die bestätigt, dass der Kontext erfolgreich erstellt wurde.
my-context
Successfully created context "my-context"
Dieser Befehl erstellt eine neue Kontext-Konfigurationsdatei in Ihrem Docker-Konfigurationsverzeichnis. Dieser Kontext verweist derzeit auf denselben lokalen Docker-Daemon wie der default-Kontext. In späteren Schritten werden wir untersuchen, wie Kontexte für die Verbindung zu verschiedenen Docker-Umgebungen konfiguriert werden.
Vorhandene Docker-Kontexte auflisten
In diesem Schritt lernen Sie, wie Sie vorhandene Docker-Kontexte anzeigen können. Dies ist nützlich, um zu sehen, welche Kontexte verfügbar sind und welcher aktuell aktiv ist.
Um die Docker-Kontexte aufzulisten, verwenden wir den Befehl docker context ls.
docker context ls
Nach Ausführung des Befehls sehen Sie eine Tabelle mit den verfügbaren Kontexten. Die Ausgabe enthält den Kontextnamen, eine Beschreibung, den Endpunkt und ob es sich um den aktuellen Kontext handelt. Sie sollten sowohl den default-Kontext als auch den im vorherigen Schritt erstellten my-context sehen. Das * neben einem Kontextnamen zeigt an, dass dies der aktuell aktive Kontext ist.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment unix:///var/run/docker.sock
my-context Docker context "my-context" unix:///var/run/docker.sock
Dieser Befehl hilft Ihnen, den Überblick über die verschiedenen Docker-Umgebungen zu behalten, mit denen Sie sich verbinden können.
Bestimmten Docker-Kontext entfernen
In diesem Schritt lernen Sie, wie Sie einen bestimmten Docker-Kontext entfernen können. Dies ist nützlich, um nicht mehr benötigte Kontexte zu bereinigen.
Um einen Docker-Kontext zu entfernen, verwenden wir den Befehl docker context rm gefolgt vom Namen des zu entfernenden Kontexts. Lassen Sie uns den in den vorherigen Schritten erstellten my-context entfernen.
docker context rm my-context
Nach Ausführung des Befehls sollten Sie eine Bestätigung der Entfernung des Kontexts sehen.
my-context
Lassen Sie uns nun die Kontexte erneut auflisten, um zu bestätigen, dass my-context entfernt wurde.
docker context ls
Die Ausgabe sollte jetzt nur noch den default-Kontext anzeigen.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment unix:///var/run/docker.sock
Dies demonstriert, wie ein bestimmter Docker-Kontext entfernt wird.
Versuch den aktuellen Docker-Kontext ohne Force-Parameter zu entfernen
In diesem Schritt versuchen wir, den aktuell aktiven Docker-Kontext ohne Verwendung der Force-Option zu entfernen. Dies demonstriert das Verhalten von Docker beim Versuch, einen gerade genutzten Kontext zu löschen.
Zuerst bestätigen wir den aktuellen Kontext:
docker context ls
Sie sollten sehen, dass der default-Kontext mit einem Sternchen (*) markiert ist, was anzeigt, dass es sich um den aktuellen Kontext handelt.
Nun versuchen wir, den default-Kontext mit dem Befehl docker context rm zu entfernen:
docker context rm default
Wahrscheinlich erhalten Sie eine Fehlermeldung ähnlich dieser:
Error: context "default" is currently in use
Dieser Fehler tritt auf, weil Docker verhindert, dass Sie den aktuell aktiven Kontext entfernen, um laufende Docker-Operationen nicht zu unterbrechen. Um den aktuellen Kontext zu entfernen, müssen Sie die Force-Option verwenden, die wir im nächsten Schritt behandeln werden.
Aktuellen Docker-Kontext gewaltsam entfernen
In diesem Schritt lernen Sie, wie Sie den aktuell aktiven Docker-Kontext mit Gewaltoption entfernen können. Wie im vorherigen Schritt gesehen, können Sie den aktuellen Kontext nicht ohne die Force-Option entfernen.
Um den aktuellen Docker-Kontext gewaltsam zu entfernen, verwenden wir den Befehl docker context rm mit dem Flag -f oder --force, gefolgt vom Namen des Kontexts. Lassen Sie uns den default-Kontext gewaltsam entfernen.
docker context rm -f default
Nach Ausführung des Befehls sollten Sie eine Bestätigung der Entfernung des Kontexts sehen.
default
Lassen Sie uns nun die Kontexte erneut auflisten, um zu bestätigen, dass der default-Kontext entfernt wurde.
docker context ls
Wahrscheinlich sehen Sie eine Meldung, die anzeigt, dass keine Kontexte verfügbar sind, oder dass Docker zu einem anderen Standardkontext gewechselt hat, falls einer existiert. In dieser Umgebung führt das Entfernen des default-Kontexts zu einem Fehler beim anschließenden Auflisten der Kontexte, da kein aktiver Kontext mehr vorhanden ist.
Error: No contexts available. Create a context, or use --help for more information.
Dies demonstriert, wie Sie den aktuellen Docker-Kontext gewaltsam entfernen können.
Zusammenfassung
In diesem Lab haben wir gelernt, wie Docker-Kontexte verwaltet werden. Wir begannen mit der Erstellung eines neuen Kontexts namens my-context über den Befehl docker context create, wodurch wir Verbindungen zu verschiedenen Docker-Daemons definieren können. Anschließend nutzten wir den Befehl docker context ls, um die verfügbaren Kontexte aufzulisten, wobei wir den neu erstellten my-context neben dem Standardkontext beobachteten und den aktuell aktiven Kontext (markiert mit einem Sternchen) identifizierten.
Das Lab zeigte weiterhin, wie ein spezifischer Docker-Kontext mit docker context rm entfernt wird. Wir untersuchten außerdem das Verhalten beim Versuch, den aktuell aktiven Kontext ohne Force-Option zu löschen, und lernten schließlich, wie der aktuelle Docker-Kontext zwangsweise entfernt werden kann.



