‫Was ist mit Geheimnissen für die lokale Entwicklung mithilfe der Docker Compose-Befehlszeile? Wir haben bis jetzt über
‫Swarm gesprochen.
‫Aber ich bin wieder auf meinem Computer und habe Docker Compose installiert, das ich nicht in meinem Schwarm hatte,
‫oder?
‫Auch hier ist Compose kein Produktionswerkzeug.
‫Es ist für die Entwicklung konzipiert.
‫Ich bin in dem gleichen geheimen Beispielverzeichnis, das wir vorher hatten.
‫Sie können sehen, dass ich die beiden Kennwortdateien und die Docker Compose-Datei habe, die wir im Schwarm hatten. Nur um zu beweisen, dass ich nicht in einem
‫Schwarm bin, kann ich
‫ein Docker-Node-ls ausführen, und es
‫wird mir tatsächlich sagen, dass dies kein Schwarm-Manager ist.
‫Ich bin nicht in einem Schwarm, daher habe ich keinen Zugriff auf die Schwarmdatenbank oder die Fähigkeit, Geheimnisse in sie zu stecken.
‫Wie gehen wir in der lokalen Entwicklung damit um?
‫Idealerweise können wir immer noch dieselbe Compose-Datei verwenden.
‫Wir können weiterhin dieselben Objekte wie die Umgebungsvariablen für Postgres verwenden.
‫Docker musste sich einen Weg einfallen lassen, um diese Arbeit in Test und Entwicklung zu ermöglichen.
‫Wenn wir einen Docker machen, komponieren
‫Sie -d, und dann haben wir einen Docker gemacht, der exec psql komponiert. Dann hat eine Katze Geheimnisse PSQL-Benutzer ausgeführt, wie
‫ist unser Geheimnis da reingekommen, richtig?
‫Weil wir die Datenbank nicht haben.
‫Nun, es stellt sich heraus, dass hier ein bisschen Magie ist.
‫Nun, es ist keine Magie. Es versteckt sich nur hinter den Kulissen, dass das,
‫was mit Compose tatsächlich passiert, nicht sicher ist, aber es funktioniert.
‫Es bindet im Grunde zur Laufzeit die aktuelle Datei auf meiner Festplatte in den Container.
‫Es wird wirklich nur ein -v mit dieser bestimmten Datei im Hintergrund ausgeführt.
‫Auch dies ist absolut nicht sicher und sollte es auch nicht sein.
‫Es ist nur ein Weg, um dieses Problem zu umgehen und es uns zu ermöglichen, mit dem
‫gleichen Prozess und den gleichen Umgebungsvariablen geheime Informationen zu entwickeln, die wir in der Produktion haben würden.
‫Nur jetzt können wir dies auch lokal tun. Das ist großartig, denn jetzt können wir mit denselben
‫Startskripten und auf die gleiche Weise wie in Swarm Umgebungsvariablen in unseren Container schreiben.
‫Und das wollen wir wirklich.
‫Wir möchten unsere Produktionsumgebung so gut wie möglich lokal anpassen.
‫Dazu benötigen Sie die neueste Version von Docker Compose.
‫Ich glaube, es funktioniert nur in Docker Compose 11.
‫Ich hoffe, Sie finden das ziemlich cool, weil ich dachte, dass dies ein guter Kompromiss
‫für sie war, damit wir die Geheimbefehle verwenden können.
‫Nun möchte ich darauf hinweisen, dass dies nur mit dateibasierten Geheimnissen funktioniert.
‫Mit dem Äußeren, über das wir gesprochen haben, wird es nicht funktionieren.
‫Wenn wir uns die Compose-Datei sehr schnell ansehen, müsste ich für meine lokale Entwicklung dateibasierte Dateien verwenden.
‫Wenn Sie in Ihrer Produktion externe Dateien verwenden, müssen Sie möglicherweise nur eine andere Compose-Datei für
‫die Entwicklung verwenden, die das Dateiattribut hier aufweist, und Beispieldateien, Dummy-Dateien im selben Verzeichnis oder an einem anderen Ort angeben, an
‫dem Sie sie möglicherweise speichern Verwenden Sie einfach ein einfaches Passwort für die Entwicklung.