Docker Secrets¶
Secrets in Docker Compose auf docs.docker.com¶
Wir haben verschiedenste Infos, die wir gerne verbergen / verschlüsseln wollen.
Benutzer / Passworte
API-Keys
SSH-Keys
Servernames
Linksammlung zu Secrets:
Super Beitrag zum Thema Docker Secrets auf Medium.com - Docker Secrets.
In Kürze: Secrets funktionieren mit Swarm oder Docker Compose. Allerdings sind nur die Swarm Techniken komplett sicher, da man hier auf dem Swarm Master secure speichert und auf Anfrage eines Swarm Workers die Info verschlüsselt bereitstellt.
Bei der Nutzung von Docker Compose (ohne Swarm) handelt es sich einfach um reguläre Dateien, die clever in den Containern zur Laufzeitumgebung die Infos bereithalten.
Grob gesagt: die reine Docker Compose Lösung ist in Ordnung für eine Entwicklungsumgebung. Im Produktionsumfeld sollte man sich auf verschlüsselte Secrets verlassen und benötigt also Docker Swarm Technik oder gleich andere (Orchestrierungs) Technik.
Docker Compose Beispiel mit Alpine aus Kofler/Öggl (4. Auflage):
Secrets Datei top-secret.txt:
Nobody knows ;-)
Die docker-compose.yml Datei:
# note: does not work with podman-compose
# (tested with Podman 4.5, podman-compose 1.0.6)
services:
secrettest:
image: alpine
secrets:
- mypassword
command: ["cat", "/run/secrets/mypassword"]
secrets:
mypassword:
file: ./top-secret.txt
Da wir hier keinen laufenden Service haben bitte einfach
docker compose up.