Was ist der Unterschied zwischen Docker Save und Docker Export?

王林
Freigeben: 2020-06-17 17:44:08
nach vorne
4107 Leute haben es durchsucht

Was ist der Unterschied zwischen Docker Save und Docker Export?

Erklären wir zunächst Docker Save bzw. Docker Export:

Docker Save

Docker-Befehlszeilenschnittstelle Das Design ist Sehr elegant, und die Hilfe für viele Befehle kann direkt angezeigt werden, indem am Ende --help hinzugefügt wird.

Die Hilfe von Docker Save ist wie folgt:

>docker save --help
Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
Save one or more images to a tar archive (streamed to STDOUT by default)
Options:
      --help            Print usage
  -o, --output string   Write to a file, instead of STDOUT
Nach dem Login kopieren

Wie aus der Befehlszeilenhilfe ersichtlich ist, ist Docker Save ein Tool zum Packen und Speichern eines oder mehrerer Bilder.

Wenn wir beispielsweise Postgres und Mongo in der Bildbibliothek verpacken möchten, können wir Folgendes ausführen:

docker save -o images.tar postgres:9.6 mongo:3.4
Nach dem Login kopieren

Die gepackte images.tar enthält die beiden Bilder von postgres:9.6 und mongo:3.4 .

Obwohl die Befehlszeilenparameter die Angabe des Bildes erfordern, kann der Container tatsächlich gepackt werden, zum Beispiel:

>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
3623943d369f        postgres:9.6        "docker-entrypoint..."   3 hours ago         Up 3 hours          5432/tcp            postgres
>docker save -o b.tar postgres
>docker save -o c.tar postgres:9.6
>ls -al
-rwxrwxrwx 1 root root 277886464 8月  26 14:40 b.tar
-rwxrwxrwx 1 root root 277886464 8月  26 14:41 c.tar
Nach dem Login kopieren

Wie Sie dem obigen Befehl entnehmen können, sind b.tar und c. tar sind genau gleich. Dies zeigt, dass Docker Save das Bild hinter dem Container speichert, wenn Docker Save einen Container angibt.

Laden Sie das gepackte Bild mit Docker Load, zum Beispiel:

docker load -i images.tar
Nach dem Login kopieren

Der obige Befehl lädt postgres:9.6 und mongo:3.4, wenn die lokale Bildbibliothek vorhanden ist und wird überschrieben.

Das Anwendungsszenario von Docker Save liegt vor, wenn Ihre Anwendung eine Kombination aus mehreren mithilfe von docker-compose.yml angeordneten Bildern ist, der Client-Server, den Sie bereitstellen möchten, jedoch keine Verbindung zum externen Netzwerk herstellen kann. Zu diesem Zeitpunkt können Sie Docker Save verwenden, um das verwendete Bild zu packen, es dann auf den Client-Server zu kopieren und es mit Docker Load zu laden.

Docker-Export

Überprüfen Sie wie üblich die Hilfe von Docker-Export:

>docker export --help
Usage:  docker export [OPTIONS] CONTAINER
Export a container's filesystem as a tar archive
Options:
      --help            Print usage
  -o, --output string   Write to a file, instead of STDOUT
Nach dem Login kopieren

Wie aus der Hilfe hervorgeht, ist Docker-Export gewohnt Containerdateien konvertieren Das System ist gepackt. Beispiel:

docker export -o postgres-export.tar postgres
Nach dem Login kopieren

Docker-Export muss den Container angeben und kann kein Bild oder Container wie Docker Save angeben.

Laden Sie den gepackten Container mit Docker-Import, zum Beispiel:

docker import postgres-export.tar postgres:latest
Nach dem Login kopieren

Wie aus dem obigen Befehl ersichtlich ist, wird Docker-Import nach dem Importieren des Containers zu einem Image und nicht zu „Wiederherstellen“. ein Behälter.

Ein weiterer Punkt ist, dass der Docker-Import IMAGE[:TAG] angeben kann, was bedeutet, dass wir einen neuen Namen für das Bild angeben können. Wenn in der lokalen Bildbibliothek bereits ein Bild mit demselben Namen vorhanden ist, wird der Name des Originalbilds entfernt und dem neuen Bild zugewiesen. Das Originalbild wird zu einem Geisterbild und kann nur über IMAGE ID bedient werden.

Das Anwendungsszenario des Docker-Exports wird hauptsächlich zum Erstellen eines Basis-Images verwendet. Sie starten beispielsweise einen Container aus einem Ubuntu-Image, installieren dann einige Software, nehmen einige Einstellungen vor und verwenden dann den Docker-Export, um ihn zu speichern als Basisbild. Verteilen Sie dieses Image dann zur Verwendung an andere, beispielsweise als grundlegende Entwicklungsumgebung.

Der Unterschied zwischen Docker Save und Docker Export

  • Docker Save speichert das Bild (Image) und Docker Export speichert den Container (Container) ;

  • Docker Load wird zum Laden von Image-Paketen verwendet, und Docker Import wird zum Laden von Containerpaketen verwendet, aber beide werden in Images wiederhergestellt

  • Docker Load kann das geladene Bild nicht umbenennen, aber Docker Import kann einen neuen Namen für das Bild angeben.

Empfohlenes Tutorial: Docker

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Docker Save und Docker Export?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.im
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!