Docker Secrets

Secrets in Docker Compose auf docs.docker.com

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:

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.