
4 einfache Wege zum Backup deiner Docker Volumes

Entdecke verschiedene Docker Volume Backup-Strategien: anwendungsspezifische Tools, lokale Backups, Features von Hosting-Anbietern und S3-Uploads mit Offen für robusten Datenschutz.
Wenn du Docker für mehr als nur zum Herumspielen nutzt, verwendest du wahrscheinlich Volumes. Volumes sind großartig, aber es ist leicht, etwas zu vermasseln und Daten zu verlieren. Damit du nicht auf dem falschen Fuß erwischt wirst, lass uns einige Möglichkeiten durchgehen, wie du deine Docker Volumes sichern kannst!
Anwendungsspezifische Lösung
Du wirst mich dafür hassen, aber der beste Weg ist, Docker Volumes gar nicht zu sichern. Stattdessen sichere nur die Daten, die du brauchst, mit den Tools, die du bereits verwendest.
Wenn du Postgres betreibst, kannst du deine Datenbank einfach mit dem Befehl pg_dump
sichern. Bei MongoDB kannst du den Befehl mongodump
verwenden. Diese Befehle geben dir normalerweise viel mehr Kontrolle darüber, was du sicherst, und können dir sogar Konsistenzgarantien bieten, die ein normales Backup nicht hat. Wenn möglich, nutze das richtige Werkzeug für die Aufgabe!
Es gibt auch fertige Container-Lösungen, die Tools wie pg_dump
verpacken und den Prozess erleichtern. Zum Beispiel docker-pg-backup von Kartoza.
Ein Backup zu erstellen kann so einfach sein wie das Ausführen eines einzigen Befehls:
docker run --name="backups" --link db:db -v `pwd`/backups:/backups -d kartoza/pg-backup:$POSTGRES_MAJOR_VERSION-$POSTGIS_MAJOR_VERSION.${POSTGIS_MINOR_RELEASE}
Lokales Backup
Als Nächstes kommt etwas, das viele nicht als Backup betrachten würden, aber es ist gut genug, wenn du lokale Entwicklung betreibst und keine super robuste Lösung brauchst.
Wenn dein Volume den Namen my-data
hat, kannst du alles in ein neues Volume namens my-data-backup
kopieren:
docker volume create --name my-data-backup
docker container run --rm -it \
-v my-data:/from \
-v my-data-backup:/to \
ubuntu bash -c "cd /from ; cp -av . /to"
Dadurch wird ein neues Volume mit den gleichen Daten wie das Original erstellt. Du kannst dieses neue Volume dann als Backup verwenden! Je nachdem, was du sicherst, musst du vielleicht die Pfade /from
und /to
anpassen.
Denk daran, das schützt dich nicht vor einer Katastrophe wie einem Serverbrand 🤖🔥.
Hosting-Anbieter
Wenn du einen modernen PaaS-Anbieter wie Sliplane oder Render nutzt, kannst du einfach deren Backup-Funktion verwenden. Das ist großartig, wenn du dich nicht um die Verwaltung einer Backup-Lösung kümmern möchtest, kann aber potenziell zu einem Single Point of Failure werden und zusätzliche Kosten verursachen.
Sliplane bietet zum Beispiel kostenlose Volume-Backups an, ohne Begrenzung der Volume-Größe.
Disclaimer: Ich bin Mitgründer, also finde ich das natürlich gut 😆
Upload nach S3 mit Offen
Offen ist eine selbst gehostete Backup-Lösung, die zu verschiedenen Cloud-Anbietern sichern kann, einschließlich S3. Es kann Docker Volumes mit einem einfachen Befehl sichern:
docker run --rm \
-v data:/backup/data \
--env AWS_ACCESS_KEY_ID="<xxx>" \
--env AWS_SECRET_ACCESS_KEY="<xxx>" \
--env AWS_S3_BUCKET_NAME="<xxx>" \
--entrypoint backup \
offen/docker-volume-backup:v2
Offen ist ziemlich genial, wir verwenden es sogar bei Sliplane zum Sichern von Volumes. Sie haben eine tolle Dokumentation mit vielen Beispielen und Unterstützung für verschiedene Cloud-Anbieter. Ich würde einfach empfehlen, es auf S3 zu sichern. Achte darauf, auch die clientseitige Verschlüsselung zu nutzen, um deine Daten sicher zu halten!
Die Konfigurationsdokumentation findest du hier.
Fazit
Da hast du es! 5 Wege, um deine Docker Volumes zu sichern. Nutze die Methode, die für dich und deinen Anwendungsfall am meisten Sinn macht. Wenn du andere großartige Lösungen kennst, teile sie gerne in den Kommentaren unten!
Danke fürs Lesen und viel Erfolg beim Backup erstellen!
Grüße, Jonas Mitgründer von sliplane.io