Was sollte ein Docker-Backup neben der Medienbibliothek enthalten?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Ein Docker-Backup muss die Bereitstellungsdefinition, den Anwendungsstatus, Datenbanken, Zugangsdaten und das Wiederherstellungsverfahren bewahren – nicht nur die ersetzbaren Mediendateien.

Filme, Musik und Fotos können den größten Teil des Datenbestands ausmachen. Wenn jedoch Compose-Dateien, App-Datenbanken, Metadaten, Benutzerkonten, Zertifikate, Verschlüsselungsschlüssel oder Mount-Zuordnungen verloren gehen, kann die Bibliothek unbrauchbar werden oder einen wochenlangen Neuaufbau erfordern. Ein zuverlässiges Backup beginnt mit der Frage: „Was muss vorhanden sein, um den Dienst auf einem leeren Host neu zu erstellen?“ und schützt jede erforderliche Ebene mit einer anwendungskonsistenten Methode.

Die Bereitstellungsdefinition sichern

Bewahren Sie jede Compose-Datei, Override-Datei, Dockerfile, jeden Build-Kontext, Stack-Namen, Image-Tag, Befehl, jede Port-Zuordnung, jedes Netzwerk, jede Volume-Deklaration, jeden Healthcheck, jede Neustartrichtlinie und jedes Ressourcenlimit auf, die zum Neuerstellen der Container erforderlich sind.

In einer Self-Hosting-Diskussion wird beschrieben, wie die Compose- und Umgebungsdateien jeder Anwendung zusammen aufbewahrt werden, damit der Stack zuverlässig erneut bereitgestellt werden kann. Dadurch wird die Bereitstellungskonfiguration zu einem eigenständigen Backup-Bestandteil, statt einen laufenden Container als Dokumentation zu verwenden.

Speichern Sie exakte Image-Versionen statt ausschließlich veränderlicher Tags wie latest. Bewahren Sie die Konfiguration, sofern sinnvoll, in einer Versionsverwaltung auf. Halten Sie jedoch Geheimnisse aus öffentlichen Repositories heraus und fügen Sie ein geschütztes Verzeichnis der erforderlichen externen Abhängigkeiten hinzu.

Jeden persistenten Bind-Mount und jedes benannte Volume schützen

Listen Sie die Mounts auf, die jedem Dienst zugeordnet sind, und klassifizieren Sie sie als ersetzbaren Cache, Anwendungskonfiguration, Metadaten, Datenbank, hochgeladene Inhalte, generierte Miniaturbilder oder kritischen Status. Sichern Sie alle nicht ersetzbaren Pfade.

In einer OpenMediaVault-Diskussion wird erklärt, dass der wichtige Wiederherstellungssatz aus der Compose-Definition und persistenten Daten besteht, während Container-Images in der Regel erneut heruntergeladen werden können. Dadurch werden dauerhafte Daten von ersetzbaren Container-Images unterschieden.

Schließen Sie versteckte Anwendungsverzeichnisse und kleine Metadaten-Volumes ein, nicht nur den großen Bibliotheks-Mount. Überprüfen Sie, dass die Quellpfade der Bind-Mounts im Host-Backup enthalten sind und dass benannte Volumes mit einer Methode exportiert werden, die Eigentümer und Berechtigungen bewahrt.

Datenbankkonsistente Backups erstellen

Ermitteln Sie PostgreSQL-, MariaDB-, MySQL-, MongoDB-, SQLite- und Redis-Persistenz sowie eingebettete Datenbanken. Verwenden Sie den unterstützten Dump-, Snapshot- oder ruhenden Backup-Prozess der jeweiligen Datenbank, statt Dateien zu kopieren, während Transaktionen geändert werden.

Eine Diskussion zur Sicherung von Docker-Volumes auf Stack Overflow zeigt, wie ein Volume zum Erstellen eines Archivs in einen temporären Container eingebunden werden kann. Datenbankdateien erfordern jedoch weiterhin besondere Aufmerksamkeit hinsichtlich der Konsistenz. Ein einfaches Volume-Archiv ist nicht automatisch ein gültiges transaktionales Datenbank-Backup.

Dokumentieren Sie die Engine-Version, Datenbanknamen, Benutzer, Erweiterungen und die Wiederherstellungsreihenfolge. Testen Sie einen logischen Dump unabhängig vom Dateisystem-Backup, damit eine Methode die Wiederherstellung übernehmen kann, wenn die andere unvollständig ist.

-15% OFF

Geheimnisse, Zertifikate und Identität bewahren

Sichern Sie geschützte Kopien von Umgebungsgeheimnissen, API-Tokens, Datenbankpasswörtern, OAuth-Client-Zugangsdaten, TLS-Zertifikaten, privaten Schlüsseln, SSH-Schlüsseln, Verschlüsselungsschlüsseln und Wiederherstellungscodes für Anwendungen.

Geheimnisse sollten getrennt von gewöhnlichen Compose-Dateien gespeichert und mit einer Wiederherstellungsmethode verschlüsselt werden, die nicht vom ausgefallenen Docker-Host abhängt. Das Backup muss genügend Kontext enthalten, damit erkennbar ist, welchem Dienst und welcher Variablen jedes Geheimnis bei der Wiederherstellung zugeordnet wird.

Vergessen Sie keine Verschlüsselungsschlüssel für verschlüsselte Datenbanken oder Speicher. Eine perfekte Kopie verschlüsselter Daten ist nicht wiederherstellbar, wenn der Schlüssel, die Passphrase oder die Konfiguration der Schlüsselverwaltung verloren geht.

Reverse Proxy, DNS, Jobs und Host-Annahmen einbeziehen

Bewahren Sie Reverse-Proxy-Routen, Middleware, Zugriffskontrollen, DNS-Einträge, DDNS-Konfiguration, geplante Jobs, Aktualisierungsrichtlinien, Firewall-Regeln, GPU-Gerätezuordnungen, UID- und GID-Zuweisungen sowie Speichereinheiten für Mounts auf.

Eine Übersicht zu einem Backup-Produkt betont, dass zuverlässiger Volume-Schutz auch Planung, Aufbewahrung, Verschlüsselung, Zielsteuerung und eine sichtbare Ausführungshistorie erfordert. Diese betrieblichen Details machen aus einem einmaligen Archiv einen wiederholbaren Backup-Ablauf.

Dokumentieren Sie, welche Host-Verzeichnisse, Netzwerke, Kernel-Funktionen und Geräte vorhanden sein müssen, bevor Compose gestartet wird. Ohne diese Voraussetzungen können wiederhergestellte Container leere Ausweichverzeichnisse anlegen, falsche Berechtigungen verwenden oder ohne Hardwarebeschleunigung starten.

Das Backup mit einer Wiederherstellung auf einem leeren Host überprüfen

Stellen Sie das Backup auf einem isolierten Test-Host oder in einer virtuellen Maschine wieder her und verwenden Sie dabei ausschließlich das Backup und die schriftlichen Anweisungen. Erstellen Sie Speicherpfade, Geheimnisse, Datenbanken, Proxy-Routen und Container in der dokumentierten Reihenfolge neu.

Der ZimaSpace-Leitfaden zum sicheren Wiederherstellen eines einzelnen freigegebenen Ordners vermittelt dasselbe Prinzip: Ein Backup ist erst dann vertrauenswürdig, wenn eine kontrollierte Wiederherstellung seinen Umfang bestätigt.

Überprüfen Sie Anmeldung, Berechtigungen, Datenbankintegrität, Metadaten, Miniaturbilder, Wiedergabe, Uploads, geplante Jobs, TLS und einen zweiten Neustart. Dokumentieren Sie die Wiederherstellungsdauer und aktualisieren Sie die Backup-Checkliste, sobald bei der Wiederherstellung eine fehlende Abhängigkeit zutage tritt.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.