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
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
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
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
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
Wie aus der Hilfe hervorgeht, ist Docker-Export gewohnt Containerdateien konvertieren Das System ist gepackt. Beispiel:
docker export -o postgres-export.tar postgres
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
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!