Wie verwende ich Docker-Geheimnisse ohne Schwarmcluster?

Derzeit sind wir eine laufende Anwendung auf einem einzelnen Docker-Container, die Anwendung benötigt alle Arten von sensiblen Daten, die als Umgebungsvariablen übergeben werden,

Ich setze diese auf den Befehl Ausführen, damit sie nicht im Image und dann in einem Repository landen, aber am Ende habe ich einen sehr unsicheren Befehl Ausführen,

Jetzt verstehe ich, dass Docker-Geheimnisse existieren, aber wie kann ich sie verwenden, ohne einen Cluster bereitzustellen? oder gibt es eine andere Möglichkeit, diese Daten zu sichern?

Mit freundlichen Grüßen,

Ja, Sie können secrets verwenden, wenn Sie eine datei erstellen. (Sie müssen keinen Schwarm betreiben).

Sie verwenden eine Compose-Datei mit docker-komponieren: es gibt dokumentation für "Geheimnisse" in einem Docker-Compose.yml-Datei.

Ich bin zu Docker-compose gewechselt, weil ich Geheimnisse verwenden wollte. Ich bin froh, dass ich es getan habe, es scheint viel sauberer zu sein. Jeder Dienst wird einem Container zugeordnet. Und wenn Sie jemals auf einen Schwarm umsteigen möchten, sind Sie im Grunde schon da.

Hinweis: Geheimnisse werden nicht in die Umgebung des Containers geladen, sondern in / run / secrets gemountet/

Hier ist ein Beispiel:

1) Projektstruktur:

||---    docker-compose.yml|---    super_duper_secret.txt

2) docker-komponieren.yml-Inhalt:

version: "3.6"services:  my_service:    image: centos:7    entrypoint: "cat /run/secrets/my_secret"    secrets:      - my_secretsecrets:  my_secret:    file: ./super_duper_secret.txt

3) super_duper_secret.txt-Inhalte:

Whatever you want to write for a secret really.

4) Führen Sie diesen Befehl vom Stammverzeichnis des Projekts aus, um festzustellen, ob der Container Zugriff auf Ihr Geheimnis hat (Docker muss ausgeführt und docker-compose installiert sein):

docker-compose up --build my_service

Sie sollten sehen, dass Ihr Container Ihr Geheimnis ausgibt.

Das kannst du nicht... Es unterstützt keine Geheimnisse ohne Schwarm.Es sei denn, Sie "schwärmen" mit nur einem Knoten.

Die andere Lösung wäre, denke ich, eine Tresorsoftware eines Drittanbieters wie diese zu verwenden:

https://www.vaultproject.io/

Aber um die Geheimnisse in Ihren Containern aus dem Tresor zu verwenden, müssten Sie das Dokument lesen.

Hoffe, das bringt dich auf den richtigen Weg, um anzufangen.

Es gibt verschiedene Möglichkeiten, Geheimnisse ohne Schwarm zu verwenden Using Docker Secrets during Development – mikesir87's blog