Export- und Importvorgänge für Docker-Images

Export- und Importvorgänge für Docker-Images

Was ist, wenn die Basis-Images bereits konfiguriert wurden und diese Images auch an anderen Stellen benötigt werden?

Antwort: Bildimport- und -exportfunktionen.

1. Bildkonservierung

[root@wxtest1607 ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
tomcat8 3.0 90457edaf6ff vor 6 Stunden 1,036 GB
[root@wxtest1607 lixr]# docker save 9045 > tomcat8-apr.tar
[root@wxtest1607 lixr]# ls -lh
Gesamtdosis: 1,2 G
-rw-r--r-- 1 root root 1005M 24. August 17:42 tomcat8-apr.tar

2. Bildimport

Da mir derzeit ein CentOS7-Server fehlt, besteht die praktische Vorgehensweise darin, das Image zuerst zu löschen und es dann zu importieren. Das ist ein ziemlicher Aufwand!

[root@wxtest1607 lixr]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
tomcat8 3.0 90457edaf6ff vor 7 Stunden 1,036 GB
[root@wxtest1607 lixr]# Docker RMI 9045
Ohne Tag: tomcat8:3.0
Gelöscht: sha256:90457edaf6ff4ce328dd8a3131789c66e6bd89e1ce40096b89dd49d6e9d62bc8
Gelöscht: sha256:00df1d61992f2d87e7149dffa7afa5907df3296f5775c53e3ee731972e253600
[root@wxtest1607 lixr]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
[root@wxtest1607 lixr]# Docker-Laden < tomcat8-apr.tar
60685807648a: Ebene wird geladen [=======================================================>] 442,7 MB/442,7 MB
[root@wxtest1607 lixr]# yer [> ] 527,7 kB/442,7 MB
[root@wxtest1607 lixr]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
<keine> <keine> 90457edaf6ff vor 7 Stunden 1,036 GB
[root@wxtest1607 lixr]# Docker-Tag 9045 Tomcat8-Apr:3.0
[root@wxtest1607 lixr]# 
[root@wxtest1607 lixr]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
tomcat8-apr 3.0 90457edaf6ff vor 7 Stunden 1,036 GB

3. Export von Containern

[root@wxtest1607 lixr]# Docker ps 
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
b91d9ad83efa 9045 "/bin/bash" vor 18 Sekunden Up 15 Sekunden trusting_colden
f680b58163ab aa79 "/bin/bash" vor 8 Stunden Up 8 Stunden stupefied_mayer
4db6aa9b8278 4052 „mysqld_safe“ vor 21 Stunden Aktiv seit 21 Stunden 8080/tcp, 0.0.0.0:53307->3306/tcp nostalgic_leavitt
7bcfe52af7a0 599d "mysqld_safe" vor 21 Stunden Aktiv seit 21 Stunden 8080/tcp, 0.0.0.0:53306->3306/tcp sleepy_hodgkin
[root@wxtest1607 lixr]# 
[root@wxtest1607 lixr]# 
[root@wxtest1607 lixr]# docker export b91d9ad83efa > tomcat80824.tar
[root@wxtest1607 lixr]# ls -lh
Gesamtdosis: 2,1 G
-rw-r--r-- 1 root root 943M 24. August 18:37 tomcat80824.tar
-rw-r--r-- 1 root root 1005M 24. August 17:42 tomcat8-apr.tar

b91d9ad83efa ist der Container, nachdem das Image 90457edaf6ff gestartet wurde.

Die vom Image exportierte Datei ist größer als die vom Container exportierte Datei.

4. Container importieren

[root@wxtest1607 lixr]# docker import tomcat80824.tar
sha256:880fc96a6bb6abdfa949a56d40ef76f32f086fa11024ddcfb4e4e8b22041d5f2
[root@wxtest1607 lixr]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
<keine> <keine> 880fc96a6bb6 vor 6 Sekunden 971,9 MB
[root@wxtest1607 lixr]# Docker-Tag 880f Tomcat80824:1.0
[root@wxtest1607 lixr]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
tomcat80824 1.0 880fc96a6bb6 Vor etwa einer Minute 971,9 MB
tomcat8-apr 3.0 90457edaf6ff vor 8 Stunden 1,036 GB

5. Der Unterschied zwischen dem Exportieren und Importieren von Bildern und Containern

Der Unterschied zwischen Bildimport und Containerimport:

1) Containerimport dient dazu, den aktuellen Container in ein neues Image umzuwandeln

2) Der Bildimport ist ein Kopiervorgang

Der Unterschied zwischen Speichern und Exportieren:

1) Speichern speichert alle Informationen des Bildes - einschließlich der Historie

2) Export exportiert nur die aktuellen Informationen

[root@wxtest1607 lixr]# Docker-Verlauf 880fc96a6bb6
BILD ERSTELLT ERSTELLT VON GRÖSSE KOMMENTAR
880fc96a6bb6 vor 12 Minuten 971,9 MB Importiert von -
[root@wxtest1607 lixr]# Docker-Verlauf 90457edaf6ff
BILD ERSTELLT ERSTELLT VON GRÖSSE KOMMENTAR
90457edaf6ff vor 8 Stunden /bin/bash 434,4 MB      
<missing> vor 23 Stunden /bin/bash 406,5 MB      
<fehlt> vor 7 Wochen /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B         
<missing> vor 7 Wochen /bin/sh -c #(nop) LABEL Lizenz=GPLv2 0 B         
<fehlt> vor 7 Wochen /bin/sh -c #(nop) LABEL vendor=CentOS 0 B         
<fehlt> vor 7 Wochen /bin/sh -c #(nop) LABEL name=CentOS Base Imag 0 B         
<fehlt> vor 7 Wochen /bin/sh -c #(nop) ADD file:b3bdbca0669a03490e 194,6 MB      
<missing> vor 7 Wochen /bin/sh -c #(nop) MAINTAINER Das CentOS-Projekt 0 B

Ergänzung: Detaillierte Erklärung der Docker-Images

Docker-Images werden zum Anzeigen lokal heruntergeladener Images verwendet.

[root@localhost ~]$ Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
centos latest 1e1148e4cc2c vor 2 Wochen 202MB
Ubuntu aktuell 93fd78260bd1 vor 5 Wochen 86,2 MB
REPOSITORY # Bild-Repository TAG # Bild-Tag IMAGE ID # Bild-ID
CREATED # Bilderstellungszeit SIZE # Bildgröße

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Docker-Images: So erstellen Sie Ihr eigenes natives Image
  • Lösungen für Docker-Images, Info, -d und andere Befehlsfehler
  • Docker-Container: benutzerdefinierter Host-Netzwerkzugriffsvorgang
  • Beheben Sie das Problem, dass einige Konfigurationsdateien in /etc nach dem Neustart des Docker-Containers zurückgesetzt werden
  • Docker View JVM-Speichernutzung
  • Docker-Speicherüberwachung und Stresstestmethoden
  • Docker View-Prozess, Speicher und Cup-Verbrauch

<<:  Webstandards – Lernen Sie die Trennung von Struktur und Präsentation zu verstehen

>>:  js Implementierung des Verifizierungscode-Falls

Artikel empfehlen

Grundlegende MySQL-Tabellenabfragen – häufige Fehler beim Left-Join

Überblick Bei kleinen und mittelgroßen Projekten ...

Lassen Sie uns über das v-on-Parameterproblem in Vue sprechen

Verwendung von v-on:clock in Vue Ich lerne derzei...

Zwei Tools zum Teilen des Bildschirms im Linux-Befehlszeilenterminal

Hier sind zwei Terminal-Split-Screen-Tools: scree...

Sublime Text - Empfohlene Methode zum Festlegen von Browser-Tastenkombinationen

Codeeffekte werden häufig in unterschiedlichen Br...

Zusammenfassung des CSS-Zählers und des Inhalts

Die Inhaltseigenschaft wurde bereits in CSS 2.1 e...

HTML-Tutorial: Horizontales Liniensegment in HTML

<br />Dieses Tag kann eine horizontale Linie...

JavaScript-Canvas zum Erstellen eines Rubbellos-Beispiels

In diesem Artikel wird der spezifische Code von J...

Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit

Inhaltsverzeichnis Installieren Sie Docker unter ...

Lösung für MySQL 8.0 kann nicht gestartet werden 3534

Der MySQL 8.0-Dienst kann nicht gestartet werden ...

Bestimmte Vorgänge der geplanten MySQL-Löschung von Sicherungsdaten

1|0 Hintergrund Aufgrund von Projektanforderungen...

Prinzipanalyse des UDP-Verbindungsobjekts und Anwendungsbeispiele

Ich habe zuvor zum Einstieg in UDP ein einfaches ...

So ändern Sie die Ali-Quelle in Ubuntu 20.04

Beachten Sie, dass dieser Artikel Ihnen nicht ein...