2016-03-29 6 views
0

Ich möchte Container von einem Host auf einen anderen verschieben. Die Container haben aktualisierte Daten in ihrem Dateisystem, so dass ich nicht die Originalbilder (Docker-Save), sondern Container (mit Docker-Export) verschieben möchte.Move Docker Containers über Export/Import: verloren Konfiguration wie Startbefehl

So verwende ich

docker export l4bnode > l4bnode.tar 

auf dem alten Host, um die Datei zu neuen Host kopieren und importieren Bild

cat l4bnode.tar | docker import - andi/l4bnode 

auf den neuen. Aber .. es sieht so aus, als ob alle Konfigurationsdaten, die ich in der Dockerdatei hatte (und die ich auch angeben konnte/in der Befehlszeile beim Ausführen des Containers angegeben hatte), verloren gingen. Ich habe versucht,

docker run andi/l4bnode 

und

docker: Error response from daemon: No command specified. 

erhalten Docker Mit inspizieren, ich sehe, dass alle Daten auf dem importierten Bild leer ist, obwohl es auf der exportierten Laufbehälter festgelegt ist. Ich vermisse hauptsächlich Startup-Befehl, Arbeitsverzeichnis, Umgebungsvariablen und exponierte Ports (einige davon muss ich dann aufgrund der Migration und der neuen Umgebung ändern).

Wie kann ich die ursprüngliche Konfiguration auf den neuen Host anwenden oder vorzugsweise migrieren?

Antwort

1

Sie können commit den aktuellen Container-Status als neues Image. Dann speichern/laden Sie das neue Bild.

Das ist gesagt, das ist etwas, was Sie im Allgemeinen versuchen sollten zu vermeiden. Runtime-Daten sollten in Volumes aufbewahrt werden, Konfigurationsänderungen sollten über Dockerfile-Neuaufbauten erfolgen.

Verwandte Themen