Docker vereinfacht die Entwicklung und den Betrieb containerisierter Anwendungen stark – daher ist das Tool ein fester Bestandteil vieler IT-Infrastrukturen. Doch die Migration und die Verwaltung bergen auch Herausforderungen. Insbesondere beim Storage, der eine zentrale Rolle für die Persistenz von Daten spielt, ist ein vertieftes Verständnis von Bedeutung.
Verteilte Speichersysteme bieten Skalierbarkeit, erfordern aber genaue Konfigurationen und können durch Netzwerklatenz und I/O-Performance beeinflusst werden.
(Bild: Dall-E / KI-generiert)
Die Migration von Containern zwischen lokalen Systemen und Cloud-Umgebungen ist ein häufig vorkommendes Szenario. Neben den Containern selbst müssen auch die Netzwerkkonfigurationen und die Storage-Komponenten korrekt übernommen werden. Docker-Compose oder Kubernetes können dabei helfen, die Services und die Infrastruktur konsistent abzubilden. Einen kritischen Punkt in diesem Prozess stellt der persistente Speicher dar, der nicht einfach in Container-Images eingebettet werden kann.
Bildergalerie
Docker-Container-Migration: Schritt für Schritt
Wenn Hardware- oder Serverwechsel anstehen, ist die Migration von Docker-Containern ein unverzichtbarer Prozess. Da Docker-Container flüchtig sind und keine persistenten Daten speichern, müssen bei der Migration die zugehörigen Daten in Docker-Volumes oder Bind-Mounts gesichert und übertragen werden. Der Container selbst bleibt auf verschiedenen Systemen identisch – vorausgesetzt, es wird dieselbe Version verwendet.
Der wichtigste Schritt ist die Sicherung des Datenvolumens, das sich üblicherweise im Verzeichnis „/var/lib/docker/volumes“ befindet. Vor Beginn der Datenmigration sollte der Container angehalten werden, um sicherzustellen, dass alle Änderungen korrekt gespeichert sind. Anschließend wird das Volumen über das Netzwerk oder per SCP-Befehl (kurz für: Secure-Copy-Protocol) auf das Zielsystem übertragen. Nach der Migration wird der Container auf dem neuen Server mit denselben Konfigurationen und Volumes neu gestartet. Es ist entscheidend, dass die Versionen der Container übereinstimmen, um mögliche Inkompatibilitäten zu vermeiden.
Storage-Optionen in Docker
Docker bietet unterschiedliche Mechanismen, um Speicher zu verwalten. Diese lassen sich in drei Hauptkategorien einteilen: Volumes, Bind Mounts und tmpfs-Mounts (kurz für: temporary file system). Die Wahl der richtigen Storage-Option beeinflusst die Performance, Datensicherheit und Skalierbarkeit der Umgebung direkt.
Volumes sind dazu da, persistente Daten in Docker zu speichern. Die Volumes hängen nicht vom Lebenszyklus der Container ab. Docker selbst verwaltet die Volumes, was bedeutet, dass der Administrator vor weniger Konfigurationsaufwand steht. Volumes können auf verschiedenen Backend-Systemen gespeichert werden, zum Beispiel auf lokalen Dateisystemen, in der Cloud oder in Netzwerk-Storage-Systemen. Der Vorteil von Volumes liegt in der Portabilität. Das liegt daran, dass ein Container-Setup, das Volumes nutzt, sich vereinfacht migrieren lässt. Docker übernimmt hierbei die Verwaltung, und Volumes können zwischen Hosts geteilt werden.
Bind Mounts lassen es zu, ein Verzeichnis vom Host-Dateisystem direkt in den Container zu mounten oder einzubinden. Daher sind Bind Mounts weniger abstrahiert als Volumes. Bind Mounts erfordern, dass Administratoren wissen, was auf dem Host passiert. Ein Problem der Bind Mounts stellt jedoch die mangelnde Portabilität dar, da sie stark an die Verzeichnisstruktur des Hosts gebunden sind. Bei einer Migration muss also sichergestellt werden, dass die Dateipfade auf dem Zielsystem identisch sind, was den Aufwand erhöht.
Bei tmpfs-Mounts werden Daten im RAM gespeichert, sodass sie nach dem Neustart des Containers verloren gehen. Sie eignen sich für temporäre Daten, die nicht persistiert werden müssen – so wie Caches oder Zwischenergebnisse. Daher sind die tmpfs-Mounts im Kontext der Migration weniger relevant, da sie keine persistenten Daten beinhalten.
Um Volumes zu migrieren, kann man ein Backup erstellen. Das Backup erfolgt, indem ein temporärer Container gestartet wird, der alle Volumes eines Zielcontainers in eine komprimierte Datei speichert. Diese Datei kann dann auf einen anderen Host übertragen und wiederhergestellt werden. Die Nutzung eines komprimierten Archivs wie „.tar“ beschleunigt den Prozess und spart Speicherplatz.
Storage-Migration von Containern: Das sind die Herausforderungen
Bei der Migration von Docker-Umgebungen, die persistente Daten nutzen, gibt es mehrere wichtige Aspekte zu berücksichtigen: Einer der größten Stolpersteine ist die Konsistenz der Daten während des Migrationsprozesses. In produktiven Umgebungen, in denen Container fortlaufend Daten verarbeiten, müssen Admins sicherstellen, dass keine Daten verloren gehen und dass die Datenintegrität gewährleistet bleibt. Hierbei sind Strategien wie Live-Migration oder das Einfrieren von Containern während der Datenmigration von Vorteil.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Zudem stellt sich die Frage der Storage-Technologie, die im Zielsystem verwendet werden soll. Eine Migration lokaler Volumes auf eine verteilte Speicherlösung kann zwar die Skalierbarkeit erhöhen, erfordert jedoch zusätzliche Konfigurationsschritte und möglicherweise auch Anpassungen in der Container-Architektur. Besonders bei der Nutzung verteilter Dateisysteme müssen Admins die Netzwerklatenz und die I/O-Performance im Auge behalten, da diese den Betrieb der Container beeinflussen können.
Ein weiteres Problemfeld ist die Migration von Datenbanken innerhalb von Containern. Datenbanken erfordern in der Regel einen hohen Grad an Konsistenz und Verfügbarkeit. Beim Migrieren von Containern mit eingebetteten Datenbanken sollten Admins darauf achten, dass keine Schreiboperationen während der Migration stattfinden, um Inkonsistenzen zu vermeiden. Tools können hier unterstützen, indem sie konsistente Backups der Datenbank erstellen, die dann auf das Zielsystem übertragen werden.
Storage-Optimierung nach der Migration
Nach der Migration sollten Admins sicherstellen, dass das Storage-Setup für die neue Umgebung optimiert ist. Dazu gehören unter anderem Maßnahmen zur Verbesserung der I/O-Performance, zum Beispiel durch den Einsatz von SSD-basiertem Storage oder die Optimierung von Netzwerk-Storage-Lösungen. Auch die Implementierung von Backup-Strategien, die auf die neue Infrastruktur abgestimmt sind, spielt eine wichtige Rolle. Containerisierte Anwendungen sollten so gestaltet sein, dass sie stateless (zustandslos) arbeiten, um den Verwaltungsaufwand für den Storage zu minimieren. Falls dies nicht möglich ist, muss das Storage-System robust und redundant gestaltet sein.
Auch die Überwachung des Storage-Bedarfs ist entscheidend. Mit wachsendem Datenvolumen kann es notwendig werden, den Storage dynamisch zu erweitern oder in ein verteiltes Dateisystem zu migrieren, das eine bessere Skalierbarkeit bietet. Docker selbst bietet hier zwar keine nativen Monitoring-Tools, aber mit externen Lösungen wie Prometheus und Grafana lassen sich Storage-Performance und Auslastung detailliert überwachen.
Docker-Container auf einen anderen Server migrieren
Die Migration von Docker-Containern auf einen neuen Server ist ein wichtiger Prozess, um Ausfallzeiten zu minimieren und Wartungsarbeiten zu erleichtern. Durch den Umzug eines Containers einschließlich aller Konfigurationen und Daten kann die Verfügbarkeit von Anwendungen während Server-Upgrades oder im Falle von Hardwarefehlern sichergestellt werden. Zunächst sollte ein Backup des Containers auf dem Quellserver erstellt und auf dem Zielserver mit einem Docker-Backup-Tool wiederhergestellt werden.
Die Sicherung und Übertragung erfolgen mittels des SCP-Berichts. Nachdem das Backup erfolgreich auf dem neuen Server wiederhergestellt ist, müssen die DNS-Einstellungen so angepasst werden, dass die Domain auf die neue Server-IP verweist. Dieser Prozess kann nicht nur auf Webanwendungen wie WordPress, sondern auch auf andere Container wie Nginx oder MySQL angewendet werden.
Migration von Docker-Daten zu Kubernetes mit Longhorn und Rancher
Die Datenmigration von Docker zu Kubernetes ist ein entscheidender Schritt, um Anwendungen nahtlos in einer Kubernetes-Umgebung bereitzustellen. In diesem Fall kann zum Beispiel Longhorn als persistenter Storage im Kubernetes-Cluster genutzt werden. Zuerst muss das Dateisystem des Docker-Containers identifiziert werden, und relevante Daten wie in einem Nginx-Container müssen gesichert werden. Anschließend wird zum Beispiel über Rancher ein neues Volume mit Longhorn erstellt und dem entsprechenden Kubernetes-Knoten zugewiesen.
Longhorn ist eine verteilte Blockspeicherlösung, die in Kubernetes- und Docker-Umgebungen verwendet wird, um persistente Speichervolumes bereitzustellen. In Kubernetes wird Longhorn oft genutzt, um Stateful-Workloads zu unterstützen, die dauerhaft Daten speichern, wie Datenbanken oder Anwendungen mit lokalem Dateisystemzugriff. Es integriert sich nahtlos in Kubernetes und stellt über Persistent Volume Claims (PVCs) hochverfügbare, redundante Speicher bereit. In Docker-Umgebungen bietet Longhorn ähnliche Funktionen, indem es verteilte Speicher zur Verfügung stellt und eine einfache Möglichkeit zur Verwaltung und Migration von Volumes zwischen verschiedenen Hosts bietet. Besonders nützlich ist Longhorn in Multi-Node-Clustern, da es Datenreplikation und Snapshots unterstützt, um eine hohe Verfügbarkeit sicherzustellen.
Bildergalerie
Rancher von Suse ist eine Open-Source-Plattform zur Verwaltung von Docker-Containern und Kubernetes-Clustern. Die Community Edition von Rancher steht kostenlos zur Verfügung. Die Plattform wurde ursprünglich konzipiert, um Docker-Container in verschiedenen Umgebungen zu orchestrieren – doch mittlerweile hat sich Rancher zu einer umfassenden Plattform für Kubernetes-Management weiterentwickelt. Im Kontext von Docker bietet Rancher eine benutzerfreundliche Oberfläche, um Container auf verschiedenen Hosts zu deployen, zu verwalten und zu überwachen. Es vereinfacht die Verwaltung von Docker-Containern, Netzwerken und Volumes und ermöglicht eine effiziente Bereitstellung und Skalierung containerisierter Anwendungen. Darüber hinaus bietet Rancher einen Multi-Cluster-Support, sodass verschiedene Docker-Umgebungen, ausgehend von einer zentralen Stelle, verwaltet werden können.
Nach dem Mounten des neuen Volumes können die Daten mittels Rsync von der Docker-Umgebung in das neue Longhorn-Volume kopiert werden. Der nächste Schritt sind das Unmounten des Volumes und die Zuweisung an den Kubernetes-Cluster, wo es als PVC verwendet wird. Schließlich wird der Container in Kubernetes unter Verwendung des migrierten Volumes neu gestartet, wodurch der Betrieb der Anwendung in Kubernetes mit den ursprünglichen Daten aus Docker fortgesetzt wird.
Aktuelles eBook
Open-Source-Storage – Speicher-Software zum Nulltarif
eBook „Open-Source-Storage“
(Bild: Storage-Insider)
Der Bedarf an Speicherkapazität steigt von Tag zu Tag – nicht nur, um die Daten von Produkten, Kunden und Transaktionen zu sichern, sondern auch, um Compliance-Anforderungen zu erfüllen und Auditierungen gut zu überstehen. Eine leistungsfähige Storage-Lösung ist also gefragt. Eine kostenlose Option bietet Open-Source-Software für Storage, insbesondere dann, wenn man sie selbst den eigenen Anforderungen anpassen darf.