Skip to content
BotServBotServ
DockerVolumesBackupRestoreRestic

Docker-Volumes sicher backuppen

Docker-Volumes mit tar, Duplicati, Restic und Offsite-Backup sichern. Stategien und Restore-Verfahren.

S

schutzgeist

3 min read
Docker-Volumes sicher backuppen

Docker-Volumes sicher backuppen

Was dieser Artikel über Docker-Volume-Backups behandelt

  • Wie man Docker-Volumes sichert.
  • Welche Tools sich eignen.
  • Wie ein Restore funktioniert.
  • Inkrementelle und automatisierte Backups.
  • Offsite- und Verschlüsselungsoptionen.

Einleitung: Docker-Volumes sicher backuppen

Docker-Volumes enthalten oft die wichtigsten Daten: Datenbanken, Konfigurationen, Modelle, Uploads oder Logs. Wer Container ohne Backup-Strategie betreibt, riskiert Datenverlust bei Containerfehlern, defekten Festplatten oder versehentlichen Löschvorgängen. Ein gutes Backup sollte regelmässig, automatisch, getestet und an einem sicheren Ort liegen.

Dieser Artikel zeigt, wie man Docker-Volumes zuverlässig sichert und wiederherstellt.

Wichtige Begriffe

  • Volume: Persistenter Speicher in Docker.
  • Bind Mount: Verzeichnis vom Host im Container.
  • Backup: Kopie der Daten zum Wiederherstellen.
  • Restore: Zurückspielen eines Backups.
  • Snapshot: Zeitpunktgenauer Zustand.
  • Inkrementell: Nur geänderte Daten sichern.
  • Offsite: Backup an externem Ort.
  • 3-2-1-Regel: Drei Kopien, zwei Medien, einer extern.

Manuelles Backup mit tar

docker run --rm -v quell-volume:/data -v $(pwd):/backup alpine \
  tar -czf /backup/volume-backup.tar.gz -C /data .

Manuelles Restore

docker run --rm -v quell-volume:/data -v $(pwd):/backup alpine \
  tar -xzf /backup/volume-backup.tar.gz -C /data

Das Volume muss vorher existieren.

Einzelnes Volume identifizieren

docker volume ls
docker inspect quell-volume

Laufende Container vor dem Backup stoppen

Für konsistente Datenbank-Backups Container stoppen oder Datenbank-eigene Tools nutzen:

docker stop datenbank
docker run --rm -v datenbank-volume:/data -v $(pwd):/backup alpine \
  tar -czf /backup/db.tar.gz -C /data .
docker start datenbank

Backup-Skript

#!/bin/bash
BACKUP_DIR=/pfad/zu/backups
DATE=$(date +%Y%m%d_%H%M%S)
VOLUME=$1

docker run --rm -v "${VOLUME}:/data" -v "${BACKUP_DIR}:/backup" alpine \
  tar -czf "/backup/${VOLUME}_${DATE}.tar.gz" -C /data .

Automatisierung mit Cron

0 2 * * * /home/benutzer/backup-volume.sh datenbank-volume

Restic für inkrementelle Backups

Restic eignet sich hervorragend für inkrementelle, deduplizierte und verschlüsselte Backups.

docker run --rm \
  -v datenbank-volume:/data:ro \
  -v /pfad/zu/repo:/repo \
  restic/restic init -r /repo

docker run --rm \
  -v datenbank-volume:/data:ro \
  -v /pfad/zu/repo:/repo \
  -e RESTIC_PASSWORD=meinpasswort \
  restic/restic -r /repo backup /data

Duplicati

Duplicati bietet eine Web-Oberfläche, inkrementelle Backups, Verschlüsselung und Cloud-Speicher:

services:
  duplicati:
    image: duplicati/duplicati
    volumes:
      - /pfad/zu/backups:/backups
      - /var/lib/docker/volumes:/source:ro
    ports:
      - "8200:8200"

Offsite-Backup

  • S3-kompatible Objektspeicher.
  • SFTP-Server.
  • rsync.net.
  • B2 Backblaze.
  • Nextcloud.

Restic kann direkt auf S3 zielen:

restic -r s3:https://s3.example.com/bucket backup /data

Restore aus Restic

docker run --rm -v datenbank-volume:/data -v /pfad/zu/repo:/repo -e RESTIC_PASSWORD=meinpasswort \
  restic/restic -r /repo restore latest --target /data

Backups testen

  • Regelmässig ein Backup in ein temporäres Volume wiederherstellen.
  • Prüfen, ob Anwendung damit startet.
  • Wichtige Dateien öffnen.
  • Backup-Ketten auf Konsistenz überprüfen.

Tipps

  • Automatisierte Backups einrichten.
  • Retention definieren, wie lange Backups aufbewahrt werden.
  • Offsite und verschlüsselt speichern.
  • Container vor dem Backup stoppen oder applikationssicher sichern.
  • Logs überwachen.
  • Notfall-Restore dokumentieren.

Typische Stolpersteine

  • Container läuft während des Backups: Inkonsistente Daten.
  • Volume nicht gefunden: Name falsch geschrieben.
  • Rechte verloren: Backup als root erstellt, Restore als anderer Benutzer.
  • Backup nicht getestet: Notfall-Restore funktioniert nicht.
  • Speicherplatz: Backups füllen Festplatte.
  • Verschlüsselung vergessen: Passwort nicht notiert.

FAQ: Docker-Volume-Backups

Kann ich einfach Docker-Volumes kopieren? Laufende Container sollten zuvor gestoppt werden.

Wie oft sollte ich sichern? Mindestens täglich für wichtige Daten, bei Datenbanken häufiger.

Sind tar-Backups gut? Für einfache Fälle ja, für grössere Setups inkrementelle Lösungen wie Restic besser.

Wo sollten Backups liegen? Mindestens an einem externen Ort, besser zwei.

Wie stelle ich ein Volume wieder her? In ein bestehendes Volume entpacken oder neu anlegen.

Quellen und weiterführende Literatur

Zusammenfassung: Docker-Volumes sicher backuppen

Docker-Volumes sind das Herzstück persistenter Daten. Eine gute Backup-Strategie kombiniert regelmässige, konsistente, getestete und offsite-gespiegelte Backups. Für einfache Zwecke reichen tar-Backups, für professionelle Setups Restic oder Duplicati. Container sollten vor dem Sichern gestoppt oder applikationssicher gepackt werden. Wer Backups nicht nur erstellt, sondern auch regelmässig testet, ist bei einem echten Ausfall vorbereitet.

Zurück zum KI Blog
Share:

Ähnliche Beiträge