Docker Deployment verbessern und Probleme sauber behandeln
- Registry-Login bleibt nach Neustart des Hosts nicht erhalten → explizit ein- und ausloggen !704 (merged)
✅ - Startup-Log direkt im Job wäre hilfreich → nach Startup log abfragen !704 (merged)
✅ - Deploymentlokale Dateien sind
.env
(für Variablen) und compose.local.yaml (für LB-Netzwerk).compose.full.yaml
liegt auch dort, muss aber ggf. aus aktualisiert werdenmanuell (Ist-Zustand)Checksum-Vergleich (md5 o.ä), Abbruch bei Unterschied → manuell- Neue Datei rüberkopieren -
✅ #676 (compose.full.yaml und docker/operations/* werden kopiert)
- Wenn Migrations nicht durchlaufen startet der Container trotzdem und läuft ggf. "mehr oder weniger", Optionen:
- Laufen lassen und Deployment erfolgreich sein lassen (aktueller Zustand, verdeckt ggf. Probleme)
- Laufen lassen und bzgl. Deployment-Job (soft-?)failen lassen?
- Container startup abbrechen, Container offline lassen, Job FAIL
- Container startup abbrechen, auf vorherigen Stand wechseln (benötigt konkreten Image-Versionstag!), alten Container wieder starten, Job FAIL
- Container restart macht (im besten Fall) ca. 7 Sekunden Downtime
- so lassen
- zweiten Container / Upgrade-Container hochfahren, anfragen beantworten während Haupt-Container offline ist, danach ggf. wieder runterfahren (LoadBalancer muss entsprechend umschalten)
- docker swarm nutzen, rolling update
Edited by Benjamin Bock