Selbst in der Ära containerisierter Workloads bleibt die Datensicherung von essenzieller Bedeutung. Genau hier setzt Nautical Backup an – ein unkompliziertes Sicherungstool, dessen Basis auf dem bewährten Rsync-Befehl beruht. Nautical Backup kann als herkömmlicher Docker-Container bereitgestellt werden. Damit lässt es sich unkompliziert in die bestehende Infrastruktur integrieren.
In der Grundkonfiguration kann man damit Docker Volumes sowie Bind Mounts sichern. Hierbei besteht die Option, die betreffenden Container vor dem Backup zu stoppen und nach Abschluss der Sicherung wieder zu starten. Wer etwas tiefer in die Materie eintaucht, kann dabei bestimmte Container anhand einer benutzerdefinierten Ausschlussliste umgehen.
Darüber hinaus besteht die Möglichkeit, Sicherungen über die integrierte API zu initiieren, was die Flexibilität und individuelle Steuerung der Backups weiter optimiert. Das kürzlich veröffentlichte Tool revolutioniert die Sicherung von Docker-Containern nicht, besticht jedoch durch seine simple und zuverlässige Arbeitsweise. Lasst uns das Tool gemeinsam erforschen.
Nautical Backup Deployment:
Die Erstellung einer Docker-Compose-Datei gestaltet sich hier äußerst unkompliziert. Ein praktischer Startpunkt dafür ist die folgende Docker-Compose-Datei. Diese sichert sowohl Docker Volumes im Standard-Pfad als auch Bind Mounts. Zusätzlich lassen sich Container festlegen, die bei der Sicherung ausgelassen werden sollen:
---
version: '3'
services:
nautical-backup:
image: minituff/nautical-backup:latest
container_name: nautical-backup
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/app/source
- /mnt/nfs-share:/app/destination
- /opt/bind-mount-dic:/app/source/bind-mount-dic
environment:
- TZ=Europe/Berlin
- CRON_SCHEDULE=0 4 * * *
- SKIP_CONTAINERS=stateless-01, testing-02, dump-03
Für die Nutzung der API in Verbindung mit Nautical Backup ist eine einfache Anpassung der Docker-Compose-Datei erforderlich. Hierzu fügt man die Umgebungsvariable HTTP_REST_API_ENABLED=true hinzu. Benutzername und Passwort lassen sich ebenso über weitere Umgebungsvariablen festlegen. Nicht vergessen darf man dabei noch das Portmapping auf 8069/tcp.
Nautical Backup kann nur auf die Docker-Container zugreifen, die auf derselben Maschine laufen wie der Nautical-Container selbst. Falls du mehrere VMs/LXCs betreibst, auf denen jeweils eigenständige Docker-Installationen laufen, müsstest du den Container auf jeder dieser Maschinen ausrollen. In solchen Szenarien ist BackupPC meist die bessere Wahl.
Alles im Blick – unser FAQ:
![FAQ](https://homelabtopia.com/wp-content/uploads/2023/09/FAQ.png)
Das Backuppen von Docker-Containern wirft zweifellos die eine oder andere interessante Frage auf. Dies hat uns dazu inspiriert, diesen Beitrag um einen Frage-Antwort-Bereich zu erweitern. An dieser zentralen Stelle werden wir alle eingesendeten Fragen der Community beantworten, damit auch du von unseren Erklärungen profitierst.
Wie kann man die Pfade aller Volumes ermitteln?
Nicht immer liegen alle von Docker genutzten Volumes im Standard-Pfad unter /var/lib/docker/volumes. Allerdings müssen auch solche Volumes gesichert werden. Alle Speicherorte lassen sich mit diesem Skript ermitteln:
#!/bin/bash
volumes=$(docker volume ls | grep -vi Driver | awk '{print $2}')
for i in ${volumes[@]}; do
docker inspect $i | grep -i Mountpoint | awk '{print $2}'
done
Kann man den NFS-Share als Volume mounten?
Anstatt die NFS-Freigabe nach /mnt/nfs-share zu mounten, besteht auch die Option, ein spezielles Docker Volume zu erstellen. Allerdings ist nicht jedem dieses Vorgehen bekannt. Glücklicherweise ist der Prozess ziemlich unkompliziert. Es wird ein Volume mit dem Local Driver erstellt, und durch die Verwendung von –opt können spezifische Optionen festgelegt werden:
docker volume create --driver local \
--opt type=nfs \
--opt o=addr=[IP-Addresse],rw \
--opt device=:[/Pfad/zur/Freigabe] \
[Volume-Name]