Loading...
4 einfache Wege zum Backup deiner Docker Volumes

4 einfache Wege zum Backup deiner Docker Volumes

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
4 min

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!

Backup Docker Volumes

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 😆

Sliplane Backups

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

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!