Es gibt zwei Methoden: eine über Container und eine über Spiegel
Methode 1: Exportieren Sie das Bild über den Container
1 Verwenden Sie zunächst docker ps -a, um alle Container auf diesem Computer anzuzeigen
docker ps -a
2 Bild exportieren
Verwenden Sie den Docker- Exportbefehl , um das Bild basierend auf der Container-ID in eine Datei zu exportieren.
docker export 容器id > image.tar
Nachdem der obige Befehl ausgeführt wurde, können wir image.tar über den Befehl ls im aktuellen Verzeichnis finden
3 Importieren Sie das Bild
Verwenden Sie den Docker-Importbefehl, um dieses Bild zu importieren
docker import 容器名 < image.tar
Überprüfen Sie, ob das Bild über den Docker-Images-Befehl importiert wird
docker images
Methode 2: Durch Spiegelung
1 Zeigen Sie alle Bilder auf diesem Computer über Docker Image an
docker imags
2 Suchen Sie die ID des hochzuladenden Bildes und verwenden Sie den Docker-Befehl save, um das Bild als Datei zu speichern
docker save 镜像id > image.tar
Docker Save kann mehrere Bilder in einer Datei packen
docker save -o image.tar 镜像1 镜像2
3 Laden Sie das Bild über Docker Load
docker load < image.tar
Der Unterschied zwischen diesen beiden Optionen
1. Unterschiedliche Dateigrößen
Die durch Export exportierte Bilddatei ist kleiner als das durch Speichern gespeicherte Bild.
2. Ist es möglich, das Bild umzubenennen?
Docker-Import kann einen neuen Namen für das Bild angeben
Docker Load kann das geladene Bild nicht umbenennen
3. Ist es möglich, mehrere Bilder gleichzeitig in eine Datei zu packen?
Docker-Export wird nicht unterstützt
Docker Save-Unterstützung
4. Ob der Spiegelverlauf einbezogen werden soll
Der Export (Import) basiert auf dem vom Container erhaltenen Bild. Beim erneuten Import gehen alle Verlaufs- und Metadateninformationen des Bildes verloren (dh nur der Snapshot-Status des Containers zu diesem Zeitpunkt wird gespeichert). Der Rollback-Vorgang kann nicht ausgeführt werden.
Das durch Speichern gespeicherte (geladene) Bild verliert nicht den Verlauf des Bildes und kann auf die vorherige Ebene zurückgesetzt werden.
5. Verschiedene Anwendungsszenarien
Anwendungsszenarien des Docker-Exports: Er wird hauptsächlich zum Erstellen eines Basis-Images verwendet. Beispielsweise starten wir einen Container aus einem Ubuntu-Image, installieren dann einige Software und nehmen einige Einstellungen vor und speichern ihn dann mit Docker-Export als Basis-Image. Verteilen Sie dieses Image dann zur Verwendung an andere, beispielsweise als grundlegende Entwicklungsumgebung.
Anwendungsszenarien von Docker Save: Wenn unsere Anwendung eine Kombination aus mehreren Bildern ist, die mit docker-compose.yml orchestriert werden, der Client-Server, den wir bereitstellen möchten, jedoch keine Verbindung zum externen Netzwerk herstellen kann. Zu diesem Zeitpunkt können Sie Docker Save verwenden, um das verwendete Image zu packen, es dann auf den Client-Server zu kopieren und es mit Docker Load zu laden.
Bild umbenennen
docker tag 存在的镜像名:tag caidingnu/镜像名称:tag
Schieben Sie das Bild an Dockerhub
Melden Sie sich zunächst bei Docker an und geben Sie Ihr Konto und Ihr Passwort ein
docker login -u 用户名 -p 密码
Schieben Sie das Bild an den Docker-Hub
docker push <hub-user>/<repo-name>:<tag>
Spiegelung des JAR-Pakets
docker build -t 镜像名:tag . #点不能少 dockerfile的路径
Containerspiegelung
sudo docker commit -a "" -m "new image" 容器id xxl:v0
Möglichkeit | Funktion |
---|---|
-A | Geben Sie einen neuen Bildautor an |
-C | Verwenden Sie Dockerfile-Anweisungen, um Bilder zu erstellen |
-M | Senden Sie die Anweisungen zum Generieren des Bildes |
-P | Halten Sie den Container beim Commit an |