Wie man den Befehl docker plugin disable verwendet, um ein Plugin zu deaktivieren

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-Plugins verwalten, indem Sie sich auf den Befehl docker plugin disable konzentrieren. Sie beginnen damit, die derzeit installierten Plugins aufzulisten, um ihren Status zu verstehen. Anschließend üben Sie das Deaktivieren eines Plugins und beobachten die Auswirkungen dieser Aktion.

Das Lab behandelt auch, wie Sie überprüfen können, ob ein Plugin erfolgreich deaktiviert wurde. Optional erkunden Sie Szenarien, in denen das Deaktivieren eines Plugins eingeschränkt sein kann, beispielsweise wenn es aktive Referenzen hat, und wie Sie möglicherweise ein aktives Plugin erzwungenermaßen deaktivieren können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555188{{"Wie man den Befehl docker plugin disable verwendet, um ein Plugin zu deaktivieren"}} docker/rm -.-> lab-555188{{"Wie man den Befehl docker plugin disable verwendet, um ein Plugin zu deaktivieren"}} docker/volume -.-> lab-555188{{"Wie man den Befehl docker plugin disable verwendet, um ein Plugin zu deaktivieren"}} end

Aufgelistete installierte Plugins

In diesem Schritt lernen Sie, wie Sie die Docker-Plugins auflisten können, die derzeit auf Ihrem System installiert sind. Docker-Plugins erweitern die Funktionalität von Docker und bieten Features wie Volumenverwaltung, Netzwerkfähigkeiten und Protokollierung.

Um die installierten Plugins aufzulisten, können Sie den Befehl docker plugin ls verwenden. Dieser Befehl zeigt Ihnen eine Liste aller installierten Plugins zusammen mit ihrem Status (aktiviert oder deaktiviert) und anderen relevanten Informationen an.

Lassen Sie uns den Befehl ausführen, um die installierten Plugins anzuzeigen.

docker plugin ls

Sie sollten eine Ausgabe ähnlich der folgenden sehen, obwohl die konkret aufgeführten Plugins je nach Ihrer Umgebung variieren können:

ID    NAME    DESCRIPTION    ENABLED

In einer Standard-LabEx-Umgebung werden möglicherweise standardmäßig keine Plugins installiert. Die obige Ausgabe zeigt an, dass derzeit keine Plugins installiert sind. Wenn Sie Plugins installiert hätten, würden sie hier aufgelistet werden.

Die Spalten der Ausgabe sind:

  • ID: Die eindeutige Kennung des Plugins.
  • NAME: Der Name des Plugins.
  • DESCRIPTION: Eine kurze Beschreibung der Funktionalität des Plugins.
  • ENABLED: Gibt an, ob das Plugin derzeit aktiviert (true) oder deaktiviert (false) ist.

Das Verständnis, welche Plugins installiert sind und welchen Status sie haben, ist der erste Schritt bei der Verwaltung von Docker-Plugins. In den folgenden Schritten lernen Sie, wie Sie diese Plugins deaktivieren und verwalten können.

Deaktivieren eines Plugins

In diesem Schritt lernen Sie, wie Sie ein installiertes Docker-Plugin deaktivieren können. Das Deaktivieren eines Plugins stoppt seine Ausführung und macht seine Funktionalität für Docker nicht verfügbar.

Um ein Plugin zu deaktivieren, verwenden Sie den Befehl docker plugin disable, gefolgt vom Namen oder der ID des Plugins, das Sie deaktivieren möchten.

Da in dieser Umgebung standardmäßig keine Plugins installiert sind, werden wir zunächst ein einfaches Plugin installieren, um den Deaktivierungsbefehl zu demonstrieren. Wir werden das vieux/sshfs-Plugin installieren, das es ermöglicht, remote SSH-Dateisysteme als Docker-Volumes einzubinden.

Zunächst installieren wir das Plugin. Dieser Befehl lädt das Plugin-Image herunter und aktiviert es.

docker plugin install vieux/sshfs

Sie werden aufgefordert, die Fähigkeiten des Plugins zu bestätigen. Geben Sie y ein und drücken Sie die Eingabetaste, um fortzufahren.

Plugin "vieux/sshfs" is requesting the following privileges:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-host-dnsserver: true
 - allow-other: true
 - capability: [CAP_SYS_ADMIN]
Do you grant the plugin these privileges? [y/n] y

Nach Abschluss der Installation können Sie überprüfen, ob das Plugin installiert und aktiviert ist, indem Sie die Plugins erneut auflisten:

docker plugin ls

Sie sollten jetzt vieux/sshfs in der Liste sehen, wobei ENABLED auf true gesetzt ist.

ID                  NAME                DESCRIPTION                         ENABLED
<plugin_id>         vieux/sshfs         Mount remote SSH filesystem         true

Jetzt deaktivieren wir das vieux/sshfs-Plugin anhand seines Namens:

docker plugin disable vieux/sshfs

Wenn der Befehl erfolgreich ist, sehen Sie keine Ausgabe. Dies zeigt an, dass das Plugin deaktiviert wurde.

Das Deaktivieren eines Plugins ist nützlich, wenn Sie seine Funktionalität nicht mehr benötigen oder wenn Sie Probleme beheben. Im nächsten Schritt überprüfen Sie, ob das Plugin tatsächlich deaktiviert ist.

Überprüfen, ob das Plugin deaktiviert ist

In diesem Schritt überprüfen Sie, ob das vieux/sshfs-Plugin, das Sie im vorherigen Schritt deaktiviert haben, tatsächlich nicht mehr aktiviert ist.

Um den Status der installierten Plugins zu überprüfen, können Sie erneut den Befehl docker plugin ls verwenden. Dieser Befehl zeigt den aktuellen Zustand aller Plugins an.

Führen Sie den Befehl aus:

docker plugin ls

Schauen Sie sich die Ausgabe für das vieux/sshfs-Plugin an. Die Spalte ENABLED sollte jetzt false anzeigen.

ID                  NAME                DESCRIPTION                         ENABLED
<plugin_id>         vieux/sshfs         Mount remote SSH filesystem         false

Das Erscheinen von false in der Spalte ENABLED bestätigt, dass das Plugin erfolgreich deaktiviert wurde. Wenn ein Plugin deaktiviert ist, kann Docker seine Funktionalität nicht nutzen.

Dieser Überprüfungsschritt ist wichtig, um sicherzustellen, dass der vorherige Befehl die gewünschte Wirkung hatte. In den nächsten optionalen Schritten werden Sie Szenarien untersuchen, in denen das Deaktivieren eines Plugins komplexer sein kann.

Versuch, ein referenziertes Plugin zu deaktivieren (optional)

In diesem optionalen Schritt versuchen Sie, ein Plugin zu deaktivieren, das derzeit verwendet wird oder von dem andere Ressourcen abhängig sind. Dies zeigt, wie Docker solche Situationen behandelt.

Zunächst aktivieren wir erneut das vieux/sshfs-Plugin, damit wir es verwenden können.

docker plugin enable vieux/sshfs

Jetzt erstellen wir ein Docker-Volume, das das vieux/sshfs-Plugin nutzt. Dies schafft eine Abhängigkeit vom Plugin.

docker volume create --driver vieux/sshfs -o sshcmd=user@host:/path/to/dir -o IdentityFile=~/.ssh/id_rsa sshfs_volume

Hinweis: Dieser Befehl wird wahrscheinlich fehlschlagen, da Sie keinen gültigen SSH-Host und kein gültiges SSH-Schlüsselpaar konfiguriert haben. Dies ist beabsichtigt und dient dazu, ein Volume zu erstellen, das versucht, das Plugin zu nutzen, und somit eine Referenz zu erstellen. Sie werden eine Fehlermeldung sehen, die darauf hinweist, dass die Erstellung des Volumes fehlgeschlagen ist.

Jetzt versuchen wir, das vieux/sshfs-Plugin erneut zu deaktivieren, während das Volume sshfs_volume existiert, auch wenn die Erstellung des Volumes fehlgeschlagen ist.

docker plugin disable vieux/sshfs

Sie sollten eine Fehlermeldung ähnlich der folgenden sehen:

Error response from daemon: plugin vieux/sshfs is in use by volume sshfs_volume

Dieser Fehler tritt auf, weil Docker es verhindert, dass Sie ein Plugin deaktivieren, das derzeit von anderen Docker-Ressourcen, wie Volumes, referenziert wird. Dies ist ein Sicherheitsmechanismus, um unerwartetes Verhalten oder Datenverlust zu vermeiden.

Um das Plugin in diesem Szenario erfolgreich zu deaktivieren, müssten Sie zunächst die abhängige Ressource (in diesem Fall das Volume) entfernen. Löschen wir das Volume:

docker volume rm sshfs_volume

Jetzt sollten Sie in der Lage sein, das Plugin zu deaktivieren:

docker plugin disable vieux/sshfs

Diesmal sollte der Befehl ohne Fehlermeldung erfolgreich ausgeführt werden.

Dieser Schritt zeigt, dass Docker Abhängigkeiten verwaltet und verhindert, dass Sie Plugins deaktivieren, die derzeit aktiv genutzt werden.

Erzwingen der Deaktivierung eines aktiven Plugins (optional)

In diesem optionalen Schritt erfahren Sie, wie Sie die Deaktivierung eines Docker-Plugins erzwingen können. Dies ist manchmal erforderlich, wenn ein Plugin blockiert ist oder nicht normal deaktiviert werden kann. Verwenden Sie die Erzwingungsoption jedoch mit Vorsicht, da sie möglicherweise zu unerwartetem Verhalten führen kann, wenn das Plugin von kritischen Ressourcen aktiv genutzt wird.

Zunächst stellen wir sicher, dass das vieux/sshfs-Plugin aktiviert ist.

docker plugin enable vieux/sshfs

Jetzt versuchen wir, das Plugin mit der Option -f oder --force zu deaktivieren:

docker plugin disable -f vieux/sshfs

Auch mit der Erzwingungsoption kann Docker die Deaktivierung verhindern, wenn das Plugin von einem laufenden Container oder anderen kritischen Ressourcen aktiv genutzt wird, um Systeminstabilitäten zu vermeiden. Bei einem einfachen Plugin wie vieux/sshfs, das keinen laufenden Container aktiv verwaltet, wird die Erzwingungsoption jedoch normalerweise erfolgreich sein, auch wenn es noch offene Referenzen gibt (wir haben die Volumenreferenz im vorherigen Schritt entfernt).

Die Erzwingungsoption ist hauptsächlich dafür konzipiert, Situationen zu behandeln, in denen ein Plugin nicht reagiert oder nicht über die Standardmethode deaktiviert werden kann. Sie versucht, den Plugin-Prozess zu beenden und das Plugin unabhängig von seinem aktuellen Zustand oder geringen Referenzen zu deaktivieren.

Nach dem Versuch, die Deaktivierung zu erzwingen, können Sie den Status des Plugins überprüfen:

docker plugin ls

Das vieux/sshfs-Plugin sollte jetzt mit ENABLED auf false gelistet sein.

ID                  NAME                DESCRIPTION                         ENABLED
<plugin_id>         vieux/sshfs         Mount remote SSH filesystem         false

Dies schließt die optionalen Schritte zur Behandlung von Plugin-Abhängigkeiten und zur erzwungenen Deaktivierung ab. Sie haben gelernt, wie Sie Docker-Plugins auflisten, deaktivieren und deren Status überprüfen können, sowie wie Docker Versuche, referenzierte Plugins zu deaktivieren, behandelt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Docker-Plugins verwalten können, wobei der Schwerpunkt auf der Deaktivierung lag. Sie haben zunächst die installierten Plugins mit docker plugin ls aufgelistet, um ihren Status zu verstehen und zu erkennen, welche aktiv sind. Anschließend haben Sie die Deaktivierung eines Plugins mit dem Befehl docker plugin disable geübt, um zu zeigen, wie Sie die Funktionalität eines Plugins stoppen können. Abschließend haben Sie überprüft, ob das Plugin erfolgreich deaktiviert wurde.