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 importierenBeim 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-MigrationDie 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 ladenEin 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 migrierenDatenvolumes 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-ContainerDer 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.
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:
|
>>: Kostenloses Tool zur Überprüfung der Richtigkeit von HTML-, CSS- und RSS-Feeds
Vorwort Da ich während des Lernprozesses Zookeepe...
Vorwort Wenn wir von Linux-Systemen sprechen, mei...
Heute bin ich wieder in die Falle getappt. Ich bi...
Vorwort Ich bin kürzlich bei der Arbeit auf ein P...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Funktionseinführung Rendern 1....
In Projekten kommt es häufig vor, dass eine Liste...
Redis ist ein verteilter Cache-Dienst. Caching is...
Vorwort Kürzlich habe ich den Startvorgang von To...
Bildbeschleuniger Manchmal ist es schwierig, Bild...
Inhaltsverzeichnis 1. Literale 1.1 Numerische Lit...
Code Erklärung 1.1 http:www.baidu.test.com verwen...
30 kostenlose englische Ribbon-Schriftarten in hoh...
In einer komplexen Tabellenstruktur erstrecken si...
Der Dokumentmodus verfügt über die folgenden zwei ...