2016-04-28 13 views
18

Ich verstehe den Unterschied zwischen export (für Container) und save (für Bilder). Aber am Ende des Tages sollte der Tarball, der entweder durch Speichern oder Exportieren erzeugt wird, als ein Bild verwendet werden.Was ist der Unterschied zwischen Import und Laden in Docker?

Warum gibt es 2 Befehle, um ein Bild von einem Tarball zu machen?

Antwort

29

docker save wird in der Tat eine Tarball, aber mit allen übergeordneten Schichten und alle Tags + Versionen.

docker export erzeugt auch einen Tarball, aber ohne jede Schicht/Geschichte.

Es wird oft verwendet, wenn man "flatten" an image will, wie aus Thomas Uhrig in "Flatten a Docker container or image" dargestellt:

docker export <CONTAINER ID> | docker import - some-image-name:latest 

Sobald jedoch diese tarballs produziert werden, Lade-/Import gibt es zu:

  • erstellt ein Bild von eins Tarball, das ist nicht einmal ein Bild (nur ein Dateisystem als Image importieren möchten)

Eine leeren Dateisystem-Image und importieren Sie den Inhalt des Tarball

  • docker load schafft potentiell mehrere Bilder von einem geteerten Repository (seit docker save kann mehrere Bilder in einem Tarball speichern).

Loads eine asphaltierte Repository aus einer Datei oder der Standard-Eingabestrom