5 Möglichkeiten, Docker-Container auf andere Server zu migrieren

5 Möglichkeiten, Docker-Container auf andere Server zu migrieren

Migration ist in vielen Fällen unvermeidlich. Hardware-Upgrades, Änderungen im Rechenzentrum, veraltete Betriebssysteme – all dies kann Auslöser für eine Migration sein.

Die Migration von Docker-Containern ist häufig Teil einer Migrationsaufgabe. Heute werden wir uns verschiedene Möglichkeiten ansehen, Docker-Container von einem vorhandenen Server auf einen anderen Server zu migrieren.

So migrieren Sie Docker-Container auf einen anderen Server. Es gibt keine direkte Möglichkeit, Docker-Container von einem Server auf einen anderen zu migrieren. Wir lösen das Problem der Docker-Containermigration mithilfe einer oder mehrerer der folgenden Methoden.

1. Container exportieren und importieren

Beim Exportieren eines Containers wird eine komprimierte Datei aus dem Dateisystem des Containers erstellt. Die exportierte Datei wird als „gzip“-Datei gespeichert.

Docker exportiert Containername | gzip > Containername.gz

Kopieren Sie dann die komprimierte Datei mithilfe eines Dateiübertragungstools wie scp oder rsync auf den neuen Server. Auf dem neuen Server wird diese GZIP-Datei dann in einen neuen Container importiert.

zcat Containername.gz | Docker-Import – Containername

Auf den im neuen Server erstellten neuen Container kann mit dem Befehl „docker run“ zugegriffen werden.

Ein Nachteil des Tools zum Exportieren von Containern besteht darin, dass es weder die Ports und Variablen des Containers noch die zugrunde liegenden Daten exportiert, die der Container enthält.

Dies kann beim Versuch, den Container auf einem anderen Server zu laden, zu Fehlern führen. In diesem Fall wählen wir die Docker-Image-Migration, um den Container von einem Server auf einen anderen zu migrieren.

2. Container-Image-Migration

Die gängigste Methode zum Migrieren eines Docker-Containers auf einen anderen Server besteht darin, das Image zu migrieren, mit dem der Container verknüpft ist.

Speichern Sie für den zu migrierenden Container zunächst dessen Docker-Image mit dem Befehl „Docker Commit“ in einer komprimierten Datei.

Docker Commit Container-ID Image-Name

Das resultierende Image wird gezippt und auf den neuen Server hochgeladen, wo mit „docker run“ ein neuer Container erstellt wird.

Bei dieser Methode wird der Datenbestand nicht migriert, die Daten der erstellten Anwendung bleiben jedoch im Container erhalten.

3. Bilder speichern und laden

Ein Docker-Image ist ein Paket mit dem Code, den Bibliotheken, den Konfigurationsdateien usw. Ihrer Anwendung. Aus diesen Images werden Docker-Container erstellt.

Mit „Docker Save“ können Sie das Image komprimieren und auf den neuen Server migrieren.

Docker speichert Image-Name > Image-Name.tar

Verwenden Sie im neuen Server „Docker Load“, um mit der komprimierten Image-Datei ein neues Image zu erstellen.

cat Bildname.tar | Docker laden

4. Datenmengen migrieren

Datenvolumes in Docker-Containern sind gemeinsam genutzte Verzeichnisse, die containerspezifische Daten enthalten. Die Daten im Datenträger sind persistent und gehen bei der Neuerstellung des Containers nicht verloren.

Wenn Sie einen Docker-Container oder ein Docker-Image mithilfe der Export- oder Commit-Tools von einem Server auf einen anderen migrieren, werden die zugrunde liegenden Datenvolumes nicht migriert.

In diesem Fall werden die Verzeichnisse mit den Daten manuell auf den neuen Server migriert. Erstellen Sie dann einen Container auf dem neuen Server und verweisen Sie auf dieses Verzeichnis als Datenträger.

Eine weitere einfache Möglichkeit besteht darin, Datenvolumes zu sichern und wiederherzustellen, indem Sie den Parameter „-volumes from“ im Befehl „docker run“ übergeben.

docker run --rm --volumes-from Datenvolumenname -v $(pwd):/Backup-Imagename tar cvf Backup.tar /Pfad zum Datenvolumen

Hier lautet der Name des Datenträgers /Pfad/zum/Datenträger. Mit diesem Befehl wird eine Sicherung des Datenträgers erstellt. Um ein Arbeitsverzeichnis anzugeben, können Sie auch -w/backup angeben. Das im Ordner /backup erstellte Backup kann mittels SCP- oder FTP-Tools auf den neuen Server kopiert werden. Anschließend wird das kopierte Backup extrahiert und auf dem Datenträger im neuen Container wiederhergestellt.

docker run --rm --volumes-from Datenvolumenname -v $(pwd):/Backup-Imagename bash -c "cd /Pfad zum Datenvolumen && tar xvf /backup/backup.tar --strip 1"

5. Migrieren Sie den gesamten Docker-Container

Der hier gesehene Ansatz funktioniert für einen einzelnen Container. Wenn jedoch alle Container von einem Server auf einen anderen migriert werden müssen, verfolgen wir einen anderen Ansatz.

Bei dieser Methode wird das gesamte Docker-Verzeichnis („/var/lib/docker“) auf den neuen Server kopiert. Damit dieser Ansatz erfolgreich ist, müssen mehrere Schlüsselpunkte identifiziert werden.

  • Behalten Sie die Ordnerberechtigungen und den Eigentümer bei.
  • Stoppen Sie den Docker-Dienst vor der Migration.
  • Überprüfen Sie, ob die Docker-Versionen auf beiden Servern kompatibel sind.
  • Überprüfen Sie die Containerliste und -funktionalität vor und nach der Migration.
  • Pfade zu Umgebungsvariablen und anderen Konfigurationsdateien.

Wenn diese Methode aufgrund eines Fehlers nicht funktioniert, konfigurieren wir benutzerdefinierte Skripte, um Container und Images von einem Server auf einen anderen zu migrieren.

Fazit: Docker-Container werden häufig in DevOps und webbasiertem Hosting verwendet. Heute haben wir verschiedene Möglichkeiten besprochen, wie Docker-Ingenieure Docker-Container auf einen anderen Server in der von uns verwalteten Docker-Infrastruktur migrieren können.

Damit ist der Artikel über 5 Möglichkeiten zum Migrieren von Docker-Containern auf andere Server abgeschlossen. Weitere Informationen zum Migrieren von Docker-Containern auf Server finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Docker-Zeitzonenproblem und Datenmigrationsproblem
  • Import-, Export-, Sicherungs- und Migrationsvorgänge für Docker-Images
  • Detaillierte Erklärung zur Migration lokaler Docker-Container auf den Server
  • Migrieren des Blogs zu Docker
  • So migrieren Sie Docker-Container zwischen Servern
  • So migrieren Sie das Datenverzeichnis in Docker

<<:  Mehrere Möglichkeiten für Vue, die Kommunikation zwischen Komponenten zu erreichen (mehrere Szenarien)

>>:  Kostenloses Tool zur Überprüfung der Richtigkeit von HTML-, CSS- und RSS-Feeds

Artikel empfehlen

Anpassungsmethode des Linux-Peripheriedateisystems

Vorwort Wenn wir von Linux-Systemen sprechen, mei...

Vue implementiert bidirektionale Datenbindung

In diesem Artikelbeispiel wird der spezifische Co...

Der eigentliche Prozess der Implementierung des Zahlenrätsels im WeChat-Applet

Inhaltsverzeichnis Funktionseinführung Rendern 1....

So führen Sie Tomcat-Quellcode im Maven-Modus aus

Vorwort Kürzlich habe ich den Startvorgang von To...

Detaillierte Erläuterung gängiger Vorgänge für Docker-Images und -Container

Bildbeschleuniger Manchmal ist es schwierig, Bild...

Detaillierte Erklärung der JavaScript-Datentypen

Inhaltsverzeichnis 1. Literale 1.1 Numerische Lit...

Implementierung der Multi-Port-Zuordnung des Nginx-Reverse-Proxys

Code Erklärung 1.1 http:www.baidu.test.com verwen...

30 kostenlose hochwertige englische Ribbon-Schriftarten

30 kostenlose englische Ribbon-Schriftarten in hoh...

HTML-Tabellen-Tag-Tutorial (35): spaltenübergreifendes Attribut COLSPAN

In einer komplexen Tabellenstruktur erstrecken si...

Einführung in die Rolle des HTML-Doctypes

Der Dokumentmodus verfügt über die folgenden zwei ...