Wie man den docker secret inspect-Befehl verwendet, um Geheimnisdetails anzuzeigen

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 secret inspect verwenden, um detaillierte Informationen zu Docker-Geheimnissen (Docker secrets) anzuzeigen. Sie beginnen damit, ein Docker-Geheimnis zu erstellen, um sensible Daten zu verwalten. Anschließend erkunden Sie, wie Sie dieses Geheimnis sowohl anhand seines Namens als auch anhand seiner eindeutigen ID untersuchen können. Schließlich lernen Sie, wie Sie die Ausgabe des inspect-Befehls mithilfe einer Go-Vorlage (Go template) formatieren, um spezifische Informationen zu extrahieren. Diese praktische Erfahrung wird Sie mit den Fähigkeiten ausstatten, um Docker-Geheimnisse effektiv zu verwalten und Probleme damit zu beheben.


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-555221{{"Wie man den docker secret inspect-Befehl verwendet, um Geheimnisdetails anzuzeigen"}} docker/inspect -.-> lab-555221{{"Wie man den docker secret inspect-Befehl verwendet, um Geheimnisdetails anzuzeigen"}} docker/create -.-> lab-555221{{"Wie man den docker secret inspect-Befehl verwendet, um Geheimnisdetails anzuzeigen"}} end

Erstellen eines Docker-Geheimnisses (Docker secret)

In diesem Schritt lernen Sie, wie Sie ein Docker-Geheimnis erstellen. Docker-Geheimnisse werden verwendet, um sensible Daten wie Passwörter, SSH-Schlüssel und TLS-Zertifikate zu verwalten. Geheimnisse werden sowohl im Ruhezustand als auch während der Übertragung verschlüsselt und sind nur für Dienste zugänglich, denen der Zugang gewährt wurde.

Um ein Docker-Geheimnis zu erstellen, verwenden Sie den Befehl docker secret create. Dieser Befehl erwartet zwei Argumente: den Namen des Geheimnisses und den Pfad zur Datei, die die Geheimnisdaten enthält.

Erstellen wir ein einfaches Geheimnis namens my_secret mit dem Inhalt "thisisasecret". Zunächst erstellen Sie eine Datei namens secret.txt in Ihrem ~/project-Verzeichnis mit dem Geheimnisinhalt.

echo "thisisasecret" > ~/project/secret.txt

Nun erstellen Sie das Docker-Geheimnis mit dem Befehl docker secret create.

docker secret create my_secret ~/project/secret.txt

Sie sollten die ID des neu erstellten Geheimnisses in der Konsole sehen. Dies zeigt an, dass das Geheimnis erfolgreich erstellt wurde.

Untersuchen eines Geheimnisses anhand des Namens

In diesem Schritt lernen Sie, wie Sie ein Docker-Geheimnis (Docker secret) anhand seines Namens untersuchen können. Mit dem Befehl docker secret inspect können Sie detaillierte Informationen zu einem Geheimnis anzeigen, wie beispielsweise seine ID, das Erstellungsdatum und die Labels.

Um ein Geheimnis anhand seines Namens zu untersuchen, verwenden Sie den Befehl docker secret inspect gefolgt vom Namen des Geheimnisses. Im vorherigen Schritt haben wir ein Geheimnis namens my_secret erstellt. Untersuchen wir nun dieses Geheimnis.

docker secret inspect my_secret

Die Ausgabe dieses Befehls ist ein JSON-Objekt, das detaillierte Informationen über das Geheimnis my_secret enthält. Sie werden Felder wie ID, Name, CreatedAt, UpdatedAt und Spec sehen.

Dieser Befehl ist nützlich, um die Details eines Geheimnisses nach seiner Erstellung zu überprüfen oder um Probleme im Zusammenhang mit Geheimnissen zu beheben.

Untersuchen eines Geheimnisses anhand der ID

In diesem Schritt lernen Sie, wie Sie ein Docker-Geheimnis (Docker secret) anhand seiner ID untersuchen können. Während die Untersuchung anhand des Namens bequem ist, haben Sie manchmal möglicherweise nur die ID des Geheimnisses, insbesondere wenn Sie mit automatisierten Skripten oder Protokollen (logs) arbeiten.

Um ein Geheimnis anhand seiner ID zu untersuchen, verwenden Sie den Befehl docker secret inspect gefolgt von der ID des Geheimnisses. Sie können die Geheimnis-ID aus der Ausgabe des Befehls docker secret create erhalten oder indem Sie die Geheimnisse mit docker secret ls auflisten.

Holen wir uns nun die ID des my_secret, das wir im ersten Schritt erstellt haben.

docker secret ls

Die Ausgabe zeigt eine Tabelle mit der Geheimnis-ID und dem Namen. Kopieren Sie die ID des my_secret. Sie sieht in etwa so aus: abcdef1234567890.

Ersetzen Sie jetzt YOUR_SECRET_ID durch die tatsächliche ID, die Sie kopiert haben, und führen Sie den Inspektionsbefehl aus:

docker secret inspect YOUR_SECRET_ID

Sie sehen die gleiche detaillierte JSON-Ausgabe wie bei der Untersuchung anhand des Namens. Dies zeigt, dass Sie entweder den Namen oder die ID verwenden können, um ein Geheimnis zu untersuchen.

Formatieren der Ausgabe mit einer Go-Vorlage (Go template)

In diesem Schritt lernen Sie, wie Sie die Ausgabe des Befehls docker secret inspect mithilfe einer Go-Vorlage formatieren können. Dies ist eine leistungsstarke Funktion, die es Ihnen ermöglicht, spezifische Informationen aus der JSON-Ausgabe zu extrahieren und in einem benutzerdefinierten Format anzuzeigen.

Go-Vorlagen verwenden eine einfache Syntax, um auf Felder innerhalb der JSON-Struktur zuzugreifen. Sie können auf Felder mit der Punktnotation verweisen, beispielsweise .ID, um auf das ID-Feld zuzugreifen, oder .Spec.Name, um auf den Namen innerhalb des Spec-Objekts zuzugreifen.

Um die Ausgabe zu formatieren, verwenden Sie die Option --format gefolgt von der Go-Vorlagenzeichenkette. Versuchen wir, nur die ID und den Namen des my_secret mithilfe einer Go-Vorlage zu extrahieren.

docker secret inspect my_secret --format 'ID: {{.ID}}, Name: {{.Spec.Name}}'

Die Ausgabe wird wie folgt aussehen:

ID: <secret_id>, Name: my_secret

Ersetzen Sie <secret_id> durch die tatsächliche ID Ihres Geheimnisses.

Sie können verschiedene Funktionen und Steuerstrukturen innerhalb von Go-Vorlagen verwenden, um komplexere Ausgabeformate zu erstellen. Beispielsweise könnten Sie über Labels iterieren oder Informationen bedingt anzeigen.

Diese Formatierungsmöglichkeit ist besonders nützlich, wenn Sie die Ausgabe von Docker-Befehlen in Skripten verarbeiten oder mit anderen Tools integrieren müssen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie sensible Daten in Docker mithilfe von Geheimnissen (secrets) verwalten können. Sie haben begonnen, indem Sie ein Docker-Geheimnis namens my_secret aus einer Datei erstellt haben und verstanden haben, dass Geheimnisse verschlüsselt sind und nur für autorisierte Dienste zugänglich sind.

Nach der Erstellung haben Sie untersucht, wie Sie die Details eines Geheimnisses mit dem Befehl docker secret inspect anzeigen können. Sie haben geübt, das Geheimnis anhand seines Namens (my_secret) zu untersuchen, was eine JSON-Ausgabe lieferte, die Informationen wie die ID des Geheimnisses, das Erstellungsdatum und andere Spezifikationen enthielt. Dies hat die grundlegende Verwendung des inspect-Befehls zur Überprüfung der Geheimnisdetails gezeigt.