Die Plattform mit Docker Compose in Produktion betreiben
Für Produktionsbereitstellungen mit Compose stellt MobilityManager eine Override-Datei bereit, docker-compose.prod.yml, die auf die Basis-Compose-Datei aufsetzt. Sie betreibt ein vorgefertigtes Image aus einer Registry, anstatt lokal zu bauen, und erzwingt strengere Einstellungen.
Wie sich das Override unterscheidet
Im Vergleich zum Entwicklungs-Stack sorgt das Produktions-Override dafür, dass:
- ein vorgefertigtes Image aus einer Registry gezogen wird, anstatt aus dem Quellcode zu bauen.
POSTGRES_PASSWORDundJWT_KEYerforderlich sind — der Start bricht sofort ab, wenn eines davon fehlt.restart: alwaysfür beide Dienste gesetzt wird und Arbeitsspeichergrenzen sowie -reservierungen angewendet werden.- ein optionaler
License__PublicKeyzur Lizenzvalidierung akzeptiert wird.
Die Umgebungsdatei vorbereiten
Erstellen Sie eine .env-Datei mit starken, eindeutigen Geheimnissen und den Image-Koordinaten:
POSTGRES_PASSWORD=YourStrongPassword123!
JWT_KEY=YourSecretKeyThatMustBeAtLeast32CharactersLong!
JWT_ISSUER=CK.MobilityManager
JWT_AUDIENCE=CK.MobilityManager.Users
DOCKER_REGISTRY=ghcr.io
DOCKER_IMAGE=your-org/ck-mobility-manager
VERSION=v1.25.0
Tipp: Binden Sie
VERSIONin der Produktion an einen bestimmten Tag statt anlatest, damit erneute Bereitstellungen reproduzierbar sind und Upgrades bewusst erfolgen.
Bereitstellen
- Kombinieren Sie die Basis- und die Produktionsdatei und starten Sie im Hintergrund:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d - Überprüfen Sie, ob die Anwendung fehlerfrei läuft:
curl http://localhost:8080/healthz - Greifen Sie unter
http://localhost:8080auf die Anwendung zu und schließen Sie das Onboarding ab, falls es sich um eine frische Datenbank handelt.
Warnung: Terminieren Sie TLS vor dem Container (Reverse-Proxy oder Load-Balancer). Der Container liefert reines HTTP über Port 8080 aus und sollte niemals direkt im Internet verfügbar gemacht werden.
Aktualisieren
- Aktualisieren Sie
VERSIONin.envauf den neuen Tag. - Ziehen Sie das neue Image:
docker compose -f docker-compose.yml -f docker-compose.prod.yml pull - Erstellen Sie die Dienste neu:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d - Bestätigen Sie den Zustand mit
curl http://localhost:8080/healthz. Ausstehende Migrationen werden automatisch angewendet, während der neue Container startet.
Verwandte Artikel
- Die Plattform mit Docker Compose für die Entwicklung betreiben
- Den JWT-Signaturschlüssel für die Produktion festlegen
- Checkliste zur Produktionshärtung
- Ihre Datenbanken sichern und wiederherstellen