2014-03-13 15 views
36

Wie nehmen wir Container-Snapshots und laden den Snapshot in einen anderen Docker-Host. Ich möchte den Container Schnappschuss und nicht für das Bild wissen. Ich bin verwirrt mit Export/Import und Speichern/Laden von Befehlen in Docker. Ich möchte mehr Klarheit oder Dokumente, um sie tiefer zu verstehen.So nehmen Sie Container-Snapshots im Andockfenster

Der Snapshot mit den Metadaten zum Ausführen des Containers und der Dächer. Der genaue Status, der im anderen Docker-Host angezeigt wird. Hilfe in dieser Richtung wäre großartig.

Antwort

27

Die command docker commit erstellt eine Momentaufnahme Ihres Containers. Dieser Snapshot ist ein Image, das Sie in ein (privates) Repository einfügen können, um es auf einem anderen Host abzurufen.

Eine Option, die kein Bild verwendet (was Sie sagen möchten Sie vermeiden) ist in der Tat save und load. Laut Dokumentation speichert dies Ihren Container mit allen Datei-Layern. Also, wenn Sie ein Setup mit Kind Container haben wie Ubuntu>JavaJDK>Elasticsearch>my-Container, alle 4-Datei Schichten würden dort bekommen. Aber Sie können die ersten 3 Schichten bereits als Bilder auf dem anderen Host haben, in diesem Fall save beläuft sich auf viel Overhead. Dann können Sie export und import verwenden, die gemäß der Dokumentation nur die oberste Dateiebene exportiert (mit anderen Worten, den Container und nicht die Bilder darunter).

Weitere Informationen über die Bilder, Container, Datei Schichten usw. können in die gefunden werden official documentation (zB file system.

+0

Wenn ich den Export verwenden und dann das Problem importieren wird kippe ich einen Container erstellen, die mit dem importierten ausgeführt werden können Daten richtig? Kann ich einen Container mit Import erstellen, wenn ja, kann ich ihn ausführen? – tanmally

+0

haben Sie versucht, 'importieren' und dann' starten' es? – qkrijger

+1

Die vollständigen Dokumente für Docker finden Sie unter https://docs.docker.com/ @qkrijger Glossar Link ist zu Dateisystemebenen –