
Aktualisiert
Einen funktionierenden Dienst definieren
Ein laufender Container beweist nicht, dass Kunden die Anwendung nutzen können. Meine Prüfliste beginnt deshalb beim Besucher: Die öffentliche Seite lädt, die Anmeldung funktioniert, das Formular wird angenommen und benötigte Daten sind verfügbar. Ein interner Port allein deckt diesen Weg nicht ab.
Dieses Portfolio trennt Webfrontend, Rust-API, Datenbank und Dateispeicher. Nach einem Deployment müssen auch ihre Verbindungen geprüft werden. Der Projektcode zeigt diese Aufteilung, liefert aber keinen Beleg für einen unterbrechungsfreien Betrieb.
Was ein Neustart leisten kann
Docker-Neustartregeln reagieren auf das Beenden eines Containers. Sie korrigieren keinen fehlerhaften Code und reparieren keine beschädigten Daten. Ein fehlgeschlagener Healthcheck allein startet einen noch laufenden Container bei gewöhnlichem Docker Compose nicht neu. Compose kann beim Start auf eine als gesund deklarierte Abhängigkeit warten. Das ist etwas anderes als laufende Wiederherstellung.
Ich trenne daher Prozessneustart, Anwendungstests und Meldungen. Wiederholte Neustarts sind ein Anlass zur Untersuchung. Eine endlose Schleife kann den ursprünglichen Fehler verdecken.
Veröffentlichung und Rückweg vorbereiten
Vor der Veröffentlichung halte ich die Codeversion fest, erstelle den Build und führe die passenden Prüfungen aus. Die vorherige auslieferbare Version bleibt verfügbar. Datenbankänderungen brauchen einen eigenen Plan: Alte Software versteht möglicherweise das neue Schema nicht. Ein früheres Containerimage reicht dann nicht aus.
| Situation | Erste Frage |
|---|---|
| Prozess beendet | Ist ein Neustart sinnvoll und bleiben Logs erhalten? |
| Seite lädt, Formular scheitert | Können API und Datenbank die Anfrage abschließen? |
| Fehlerhafter Release | Passt der vorige Code zu den aktuellen Daten? |
| Daten fehlen | Welches getestete Backup enthält die Datensätze? |
Getrennt von der Produktion wiederherstellen
PostgreSQL stellt logische Dumps für die Datenbankwiederherstellung bereit. Dateien, Konfiguration und Zugänge müssen zusätzlich berücksichtigt werden. In einer getrennten Umgebung prüfe ich wiederhergestellte Datensätze und typische Abläufe. Dauer und offene Probleme werden dokumentiert. Eine ungeprüfte Zeitangabe ist keine belastbare Zusage.
Wir vereinbaren, wer Meldungen erhält und welche Reaktion abgedeckt ist. Darum geht es bei Wartung: geplante Prüfungen und Wiederherstellung mit klarer Verantwortung.
Quellen
Docker-Neustartregeln · Compose-Startprüfungen · PostgreSQL-Dumps