‫Nachdem wir nun Geheimnisse mit Diensten gesehen haben, schauen wir uns Geheimnisse mit Stapeln an. In diesem Verzeichnis bin ich in Beispiel zwei
‫Geheimnisse, und
‫in diesem Verzeichnis habe ich eine Compose-Datei und dann zwei Geheimnisse in Textdateien gespeichert.
‫Es sind also die ähnlichen Passwörter und Benutzernamen, die wir in der vorherigen Vorlesung hatten, aber jetzt haben
‫wir all dies in einer Compose-Datei definiert. Wir haben hier verschiedene Dinge.
‫Als Erstes muss die Version Ihrer Compose-Datei nun 3 sein. 1. Um Geheimnisse zu haben, müssen wir
‫im Internet sein. 1 Veröffentlichung von 3.
‫Wir brauchten also 3, um Stapel zu benutzen, aber um Stapel mit Geheimnissen zu benutzen, müssen wir 3 haben. 1 oder neuer.
‫Das zweite, was wir bemerken werden, ist, dass wir hier unten jetzt diesen Schlüssel für die Stammgeheimnisse haben und
‫dort unsere Geheimnisse definieren.
‫Bei den beiden Möglichkeiten, Geheimnisse in einer Compose-Datei zu erstellen, wird entweder eine Datei für jedes Geheimnis verwendet
‫oder die Geheimnisse werden vorab erstellt.
‫Hier verwenden wir eigentlich nur Dateien, aber was
‫wir tun könnten, ist, diese Geheimnisse auf eigene Faust mit einer anderen Methode zu erstellen, entweder über die
‫CLI, wie Sie gesehen haben, oder direkt über die API. Dann würden wir nur anstelle der
‫Datei: Darunter würde nur extern stehen: und es wäre der Name des Geheimnisses in der
‫Geheimliste.
‫Wir müssen der Compose-Datei unsere Geheimnisse mitteilen und mitteilen, wo sie sich befinden, und sie dann tatsächlich den
‫Diensten zuweisen, die sie benötigen.
‫Das ist der Schlüssel, denn wir sagen hier wirklich, dass nur der Container, der
‫unser Geheimnis haben will, unser Geheimnis hat. Wenn dies eine komplizierte Compose-Datei war, in der wir mehrere Dienste hatten, haben wir
‫möglicherweise verschiedene Geheimnisse für verschiedene Dienste.
‫Wir würden sie zuerst alle unten definieren und sie dann bei jedem Service
‫spezifisch zuweisen.
‫Ich werde sagen, dass dies eigentlich die Kurzform oder der einfache Weg ist, die Geheimnisse unter einem Dienst
‫zu tun.
‫Tatsächlich gibt es eine lange Form, mit der Sie beispielsweise die Berechtigungen und die Benutzer
‫definieren können, die im Standard-Linux-Modus und unter Verwendung der Benutzer-ID-Syntax darauf zugreifen dürfen.
‫Wenn Sie also Anwendungen als Benutzer ohne Rootberechtigung ausführen, möchten Sie diese Geheimnisse nur auf diesen Benutzer ausrichten,
‫der auf sie zugreifen kann.
‫In diesem ersten Beispiel verwenden wir der Einfachheit halber nur die Kurzform.
‫Ich muss diese Datei nur in einem Standardstapelbereitstellungsbefehl verwenden. Stellen Sie also docker-compose bereit, und
‫wir nennen diese mydb. Sie werden sehen, wie bereits zuvor, dass das Netzwerk zuerst erstellt wurde.
‫In diesem Fall wurden zuerst die Geheimnisse und dann der Dienst erstellt.
‫Wenn ich eine geheime Docker-Suche durchgeführt habe, werden Sie feststellen, dass sich beide darin befinden und die gleiche Namenskonvention wie
‫bei allen anderen Stapelkomponenten angewendet wird, wobei es sich immer um den Stapelnamen und dann um den Namen
‫des Objekts handelt.
‫Genau wie in der vorherigen Vorlesung, wenn ich auf den SQL-Server gesprungen bin
‫und tatsächlich nach diesen Dateien gesucht habe, wären sie dort genauso wie zuvor. erst jetzt werden sie in unserer Stack-Datei verwaltet.
‫Das Schöne hier ist, wenn ich meinen Stapel entferne, werden auch die Geheimnisse aufgeräumt und beseitigt. Im vorherigen Beispiel hätten wir, wenn
‫wir unsere Geheimnisse
‫entfernen wollten, ein Docker-Secret-Rm ausführen müssen, um tatsächlich jedes einzelne zu
‫entfernen. Nur als letzte Erinnerung:
‫In diesen Beispielen haben wir Textdateien auf diesem Server verwendet und es handelt sich hier um
‫einen 3-Knoten-Schwarm.
‫Wenn Sie sich jedoch in einer Produktionsumgebung oder in einer Umgebung befinden, die sich nicht auf Ihrem lokalen
‫Computer befindet, sollten Sie die Geheimnisse nicht in Dateien oder in der Bash-Verlaufsdatei oder an einem Ort aufbewahren, der sich möglicherweise auf
‫diesem Host befindet.
‫Das ist eine Art, den Zweck zu vereiteln, die Geheimnisse an erster Stelle zu haben. Was auch immer Ihr Prozess ist, um Geheimnisse
‫in den Schwarm zu bringen, wissen Sie nur,
‫dass Sie möglicherweise eine Bereinigung benötigen, wenn Sie dort fertig sind, damit Sie keine verbliebenen Geheimnisse hinterlassen, die für
‫die Menschen leicht zu bekommen sind.