Einführung
In diesem Lab lernen Sie, wie Sie den Befehl docker plugin set verwenden, um die Einstellungen eines Docker-Plugins zu ändern. Wir beginnen damit, die anfängliche Konfiguration eines Plugins mit docker plugin inspect zu untersuchen, um seinen aktuellen Zustand zu verstehen.
Nach der Untersuchung üben Sie das Ändern verschiedener Plugineinstellungen, einschließlich Umgebungsvariablen, der Quelle eines Mounts, eines Gerätepfads und der Quelle von Argumenten, alles mit dem Befehl docker plugin set. Diese praktische Erfahrung wird die Flexibilität und Kontrolle demonstrieren, die Sie über das Verhalten von Docker-Plugins haben.
Anfängliche Plugineinstellungen prüfen
In diesem Schritt lernen wir, wie man die anfänglichen Einstellungen eines Docker-Plugins prüft. Docker-Plugins erweitern die Funktionalität von Docker und ermöglichen benutzerdefinierte Speichertreiber, Netzwerktreiber und vieles mehr. Bevor Sie die Einstellungen eines Plugins ändern, ist es wichtig, seine aktuelle Konfiguration zu verstehen.
Wir verwenden den Befehl docker plugin inspect, um die Details eines bestimmten Plugins anzuzeigen. In diesem Lab verwenden wir das vieux/sshfs-Plugin als Beispiel. Dieses Plugin ermöglicht es Ihnen, entfernte SSH-Dateisysteme in Ihre Container einzubinden.
Zunächst stellen wir sicher, dass das vieux/sshfs-Plugin installiert und aktiviert ist. Wenn es nicht installiert ist, können Sie es mit dem Befehl docker plugin install installieren.
docker plugin install vieux/sshfs:latest
Dieser Befehl installiert das vieux/sshfs-Plugin von Docker Hub. Das Tag :latest gibt die neueste Version des Plugins an.
Nach der Installation des Plugins können Sie seinen Status mit dem Befehl docker plugin ls überprüfen.
docker plugin ls
Sie sollten vieux/sshfs:latest in der Liste sehen, wobei der ENABLED-Status auf true gesetzt ist.
Jetzt prüfen wir die Plugineinstellungen mit dem Befehl docker plugin inspect.
docker plugin inspect vieux/sshfs:latest
Dieser Befehl gibt ein detailliertes JSON-Objekt aus, das alle Konfigurationsdetails des vieux/sshfs-Plugins enthält. Diese Ausgabe umfasst Informationen über die Plugin-ID, den Namen, den Aktivierungsstatus, die Einstellungen und vieles mehr.
Scrollen Sie durch die Ausgabe, um die verschiedenen Konfigurationsoptionen für dieses Plugin zu sehen. Achten Sie besonders auf den Abschnitt Settings, der die spezifischen Konfigurationsparameter enthält, die geändert werden können.
Eine Umgebungsvariable mit docker plugin set ändern
In diesem Schritt lernen wir, wie man eine Umgebungsvariable für ein Docker-Plugin mit dem Befehl docker plugin set ändert. Das Ändern der Plugineinstellungen ermöglicht es Ihnen, ihr Verhalten an Ihre spezifischen Anforderungen anzupassen.
Bevor wir die Einstellungen eines Plugins ändern können, muss das Plugin deaktiviert sein. Sie können die Einstellungen eines aktivierten Plugins nicht ändern. Wir verwenden weiterhin das vieux/sshfs-Plugin als Beispiel.
Zunächst deaktivieren wir das vieux/sshfs-Plugin.
docker plugin disable vieux/sshfs:latest
Dieser Befehl deaktiviert das angegebene Plugin. Sie können überprüfen, ob das Plugin deaktiviert ist, indem Sie erneut docker plugin ls ausführen. Der ENABLED-Status für vieux/sshfs:latest sollte jetzt false sein.
Da das Plugin jetzt deaktiviert ist, können wir eine Umgebungsvariable ändern. Das vieux/sshfs-Plugin hat eine Umgebungsvariable namens DEBUG, die die Debug-Ausgabe steuert. Standardmäßig ist diese wahrscheinlich auf false gesetzt. Ändern wir sie auf true.
docker plugin set vieux/sshfs:latest DEBUG=true
Dieser Befehl setzt die Umgebungsvariable DEBUG für das vieux/sshfs:latest-Plugin auf true. Das Format zum Setzen von Variablen ist PLUGIN_NAME VARIABLE_NAME=VALUE.
Nachdem Sie die Umgebungsvariable festgelegt haben, können Sie das Plugin erneut prüfen, um die Änderung zu bestätigen.
docker plugin inspect vieux/sshfs:latest
Suchen Sie im JSON-Ausgabe den Abschnitt Settings. Sie sollten einen Eintrag für Env sehen, der eine Liste von Umgebungsvariablen ist. Die Variable DEBUG sollte jetzt auf true gesetzt sein.
Schließlich können Sie das Plugin nach den gewünschten Änderungen wieder aktivieren.
docker plugin enable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin aktiviert ist, indem Sie docker plugin ls verwenden.
Die Quelle eines Mounts mit docker plugin set ändern
In diesem Schritt lernen wir, wie man die Quelle eines Mounts für ein Docker-Plugin mit dem Befehl docker plugin set ändert. Einige Plugins benötigen Zugang zu bestimmten Verzeichnissen oder Dateien auf dem Host-System. Diese werden als Mounts konfiguriert.
Ähnlich wie beim Ändern von Umgebungsvariablen müssen Sie das Plugin deaktivieren, bevor Sie seine Mount-Einstellungen ändern können. Wir verwenden weiterhin das vieux/sshfs-Plugin.
Stellen Sie zunächst sicher, dass das vieux/sshfs-Plugin deaktiviert ist. Wenn Sie es im vorherigen Schritt aktiviert haben, deaktivieren Sie es jetzt.
docker plugin disable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin deaktiviert ist, indem Sie docker plugin ls verwenden.
Das vieux/sshfs-Plugin benötigt Zugang zur Datei /etc/ssh/ssh_known_hosts auf dem Host-System, um die Identität des SSH-Servers zu überprüfen, mit dem es eine Verbindung herstellt. Dies ist als Mount konfiguriert. Ändern wir den Quellpfad dieses Mounts.
Wir ändern den Quellpfad von /etc/ssh/ssh_known_hosts auf /root/.ssh/known_hosts. Hinweis: In der Praxis sollten Sie sicherstellen, dass die Ziel-Datei existiert und die richtigen Berechtigungen hat. In diesem Lab konzentrieren wir uns auf die Befehlssyntax.
docker plugin set vieux/sshfs:latest Mounts[0].Source=/root/.ssh/known_hosts
Dieser Befehl setzt das Source-Feld des ersten Mounts (Mounts[0]) für das vieux/sshfs:latest-Plugin auf /root/.ssh/known_hosts. Die Syntax Mounts[0] bezieht sich auf das erste Element im Mounts-Array innerhalb der Plugineinstellungen. Sie können den Index des Mounts, den Sie ändern möchten, durch Prüfen der Pluginkonfiguration ermitteln.
Nachdem Sie die Mount-Quelle geändert haben, prüfen Sie das Plugin, um die Änderung zu bestätigen.
docker plugin inspect vieux/sshfs:latest
Untersuchen Sie den Abschnitt Settings und finden Sie das Mounts-Array. Das Source-Feld für den ersten Mount sollte jetzt /root/.ssh/known_hosts sein.
Schließlich aktivieren Sie das Plugin erneut.
docker plugin enable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin aktiviert ist, indem Sie docker plugin ls verwenden.
Einen Gerätepfad mit docker plugin set ändern
In diesem Schritt lernen wir, wie man den Pfad eines Geräts, auf das ein Docker-Plugin zugreifen kann, mit dem Befehl docker plugin set ändert. Einige Plugins benötigen möglicherweise direkten Zugang zu Host-Geräten, wie z. B. Speichergeräten oder Netzwerkschnittstellen.
Wie beim Ändern anderer Plugineinstellungen muss das Plugin deaktiviert sein, bevor Sie seine Gerätekonfigurationen ändern können. Wir verwenden weiterhin das vieux/sshfs-Plugin als Beispiel, obwohl dieses spezifische Plugin normalerweise keinen Gerätezugang erfordert. Wir werden die Befehlssyntax anhand eines hypothetischen Geräts demonstrieren.
Stellen Sie zunächst sicher, dass das vieux/sshfs-Plugin deaktiviert ist.
docker plugin disable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin deaktiviert ist, indem Sie docker plugin ls verwenden.
Stellen Sie sich nun vor, dass das vieux/sshfs-Plugin Zugang zu einem Gerät unter /dev/sda1 benötigen würde. Wir möchten diesen Pfad auf /dev/sdb1 ändern. Wir würden den docker plugin set-Befehl mit dem Devices-Array verwenden.
Hinweis: Das vieux/sshfs-Plugin hat standardmäßig keine Devices-Konfiguration. Dies ist ein hypothetisches Beispiel, um die Befehlssyntax zum Ändern von Gerätepfaden zu demonstrieren. Das Ausführen dieses Befehls auf dem vieux/sshfs-Plugin führt wahrscheinlich zu einem Fehler, da das Devices-Feld in seiner Konfiguration nicht existiert. Die gezeigte Syntax ist jedoch korrekt für Plugins, die tatsächlich Gerätekonfigurationen haben.
Angenommen, das Plugin hätte ein Devices-Array und wir wollten den PathOnHost des ersten Geräts (Devices[0]) ändern, dann würde der Befehl so aussehen:
docker plugin set vieux/sshfs:latest Devices[0].PathOnHost=/dev/sdb1
Dieser Befehl versucht, das PathOnHost-Feld des ersten Geräts (Devices[0]) für das vieux/sshfs:latest-Plugin auf /dev/sdb1 zu setzen. Die Syntax Devices[0] bezieht sich auf das erste Element im Devices-Array innerhalb der Plugineinstellungen.
Da das vieux/sshfs-Plugin kein Devices-Array hat, wird der obige Befehl fehlschlagen. Dies ist für dieses spezifische Plugin zu erwarten, aber es veranschaulicht die korrekte Syntax zum Ändern von Gerätepfaden für Plugins, die diese Konfiguration unterstützen.
Um die tatsächlichen Einstellungen des vieux/sshfs-Plugins zu sehen, können Sie es erneut prüfen.
docker plugin inspect vieux/sshfs:latest
Sie werden in der Ausgabe für dieses Plugin keinen Devices-Abschnitt sehen.
Schließlich aktivieren Sie das Plugin erneut.
docker plugin enable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin aktiviert ist, indem Sie docker plugin ls verwenden.
Die Quelle der Argumente mit docker plugin set ändern
In diesem Schritt lernen wir, wie man die Quelle der an ein Docker-Plugin übergebenen Argumente mit dem Befehl docker plugin set ändert. Einige Plugins akzeptieren Befehlszeilenargumente während ihrer Initialisierung oder Ausführung.
Um die Argumente eines Plugins zu ändern, muss es zunächst deaktiviert werden. Wir verwenden weiterhin das vieux/sshfs-Plugin als Beispiel.
Stellen Sie zunächst sicher, dass das vieux/sshfs-Plugin deaktiviert ist.
docker plugin disable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin deaktiviert ist, indem Sie docker plugin ls verwenden.
Das vieux/sshfs-Plugin akzeptiert Argumente, die an den zugrunde liegenden sshfs-Befehl übergeben werden. Diese Argumente sind in den Plugineinstellungen konfiguriert. Ändern wir die Quelle dieser Argumente.
Wir ändern die Quelle der Argumente, um die Option -o allow_other hinzuzufügen, die es Nicht-Root-Benutzern ermöglicht, das Dateisystem einzubinden.
docker plugin set vieux/sshfs:latest Args="-o allow_other"
Dieser Befehl setzt das Args-Feld für das vieux/sshfs:latest-Plugin auf "-o allow_other". Das Args-Feld ist typischerweise eine Zeichenkette oder ein Array von Zeichenketten, die die an das ausführbare Plugin-Programm übergebenen Befehlszeilenargumente darstellen.
Nachdem Sie die Argumente geändert haben, prüfen Sie das Plugin, um die Änderung zu bestätigen.
docker plugin inspect vieux/sshfs:latest
Untersuchen Sie den Abschnitt Settings und finden Sie das Args-Feld. Es sollte jetzt auf "-o allow_other" festgelegt sein.
Schließlich aktivieren Sie das Plugin erneut.
docker plugin enable vieux/sshfs:latest
Vergewissern Sie sich, dass das Plugin aktiviert ist, indem Sie docker plugin ls verwenden.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man Docker-Plugin-Einstellungen mit dem Befehl docker plugin set verwaltet. Wir haben begonnen, indem wir die anfängliche Konfiguration eines Plugins mit docker plugin inspect untersucht haben, um seinen aktuellen Zustand zu verstehen, wobei wir uns speziell auf den Abschnitt Settings konzentriert haben. Diese erste Prüfung ist vor jeder Änderung von entscheidender Bedeutung.
Anschließend haben wir untersucht, wie man verschiedene Plugineinstellungen mit docker plugin set ändern kann. Wir haben das Ändern einer Umgebungsvariablen, das Verändern der Quelle einer Einbindung, das Modifizieren eines Gerätepfads und das Ändern der Quelle von Argumenten behandelt. Diese Schritte haben die Flexibilität von docker plugin set bei der Anpassung des Plugin-Verhaltens an spezifische Anforderungen gezeigt.



