Die Ransomware-Angriffe der vergangenen Monate haben vielen Administratoren die Bedeutung von funktionierenden Backupkonzepten schmerzlich vor Augen geführt. ... (mehr)

Professionelle Lösungen

Es ist offensichtlich, dass im Markt Interesse an einer professionellen Lösung des leidigen Docker-Container-Sicherungsproblems besteht. Leider haben die Anbieter bisher noch kein brauchbares Produkt herausgebracht. Diverse Hosting-Unternehmen geben in ihren Blogs mehr oder weniger offen zu, dass sie die Sicherung der bei Ihnen untergebrachten Container im Großen und Ganzen mit Shell-Skripten bewerkstelligen. Ein Beispiel ist ownCloud, wo Nutzern die Verwendung eines CRON-Jobs empfohlen wird [2]. Unter [3] bietet der StackOverflow-Nutzer tommasop eine Gruppe von Skripten an, die sich im Prinzip auf die Abarbeitung der zuvor besprochenen Docker-Vorgaben beschränken. Als Beispiel hierfür das folgende Skript, das sich um die Sicherung kümmert:

#!/bin/bash
# This script allows you to backup a single volume from a container
# Data in given volume is saved in the current directory in a tar archive.
CONTAINER_NAME=$1
VOLUME_NAME=$2
 
usage() {
    echo "Usage: $0 [container name] [volume name]"
    exit 1
}
 
if [ -z $CONTAINER_NAME ]
then
    echo "Error: missing container name parameter."
    usage
fi
 
if [ -z $VOLUME_NAME ]
then
    echo "Error: missing volume name parameter."
    usage
fi
 
sudo docker run -rm --volumes-from $CONTAINER_NAME -v
    $(pwd):/backup busybox tar cvf /backup/backup.tar
    $VOLUME_NAME

Mit Shell-Programmierung erfahrene Personen bemerken sofort, dass das Skript nur eine umfangreiche Überprüfung der angelieferten Parameter mitbringt und sich sonst an die von Docker vorgegebene Vorgehensweise hält. Das unter [4] bereitstehende Docker-Backup verfährt im Prinzip analog. Der einzige Vorteil des in Go geschriebenen Programms ist, dass es etwas kompakter ausfällt und in Form eines installationsbereiten Docker-Containers auf Ihre Maschine wandert. Das Tool Akerbis erweitert dies insofern, als der hauseigene Container verschiedene Ziele wie beispielsweise FTP-Server zum Ablegen der generierten Sicherungsdaten einspannt. Sonst verhält sich auch dieses Programm wie eine Gruppe von Shell-Skripten; der Quellcode steht unter [5] zur Einsichtnahme bereit.

Link-Codes

[1] Volumes in Docker: https://docs.docker.com/storage/volumes/

[2] ownCloud in Docker wiederherstellen: https://owncloud.org/news/docker-series-pt-3-automatically-easily-backup-restore-dockerized-owncloud/

[3] Skripte für das Backup unter Docker: https://stackoverflow.com/questions/26331651/how-can-i-backup-a-docker-container-with-its-data-volumes/

[4] Docker-Backup: https://github.com/discordianfish/docker-backup/

[5] Quellcode zu Docker-Backup: https://github.com/akerbis/docker-backup/

[6] Docker-Backup mit Morpheus: https://www.morpheusdata.com/blog/2017-03-02-how-to-create-a-docker-backup-with-morpheus/

Sowohl Bacula als auch Bareos bieten zwar Container an, mit denen sich ihre Backup-Systeme in Docker ausführen lassen. Eine Erweiterung, die das Sichern von Docker-Containern ermöglicht, suchen wir bei beiden Varianten derzeit allerdings vergeblich. Das einzige kommerzielle Unternehmen, das Schritte in Richtung der Sicherung von Docker-Containern unternimmt, ist Morpheus Data. Zur Nutzung der unter [6] im Detail beschriebenen Sicherungsfunktionen müssen Sie allerdings auf die hauseigene Orchestrierungsplattform setzen, die zudem alles andere als preiswert sein dürfte.

Fazit

Docker-Container stehen so gut wie nie unabhängig von sonstiger Infrastruktur. Daraus folgt, dass die Sicherung in beinahe allen Fällen eine interdisziplinäre Aufgabe darstellt. Die hier besprochenen Methoden helfen mit etwas Mitdenken, Probleme im Container-Einsatz zu vermeiden. Der derzeitig noch eher wilde Zustand dürfte über kurz oder lang kommerzielle Anbieter auf den Plan rufen. Vielleicht lanciert gerade, während Sie den IT-Administrator lesen, ein Start-up sein Produkt. Die Frage nach Backups für Docker bleibt spannend und wir werden sie im Auge behalten.

(dr)

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

Docker 1.3 erlaubt signierte Images

Die digitale Signatur von Container-Images soll für mehr Sicherheit sorgen.

Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023