Ich habe vor Kurzem Docker gelernt und stoße dabei häufig auf ein Problem: Beim Herunterladen von Docker-Images treten aus bekannten Netzwerkgründen Fehler auf. Obwohl es online viele Lösungen gibt, z. B. die Verwendung inländischer Spiegeldienste wie Docker Hub Mirror, ziehe ich es aus persönlichen Gründen (zum Glück habe ich eine ausländische VM) vor, die heruntergeladenen Images nicht über die Docker-Registrierung freizugeben. Das Problem ist klar:Geben Sie das Docker-Image auf Maschine A für andere Maschinen frei, ohne den Umweg über die Docker-Registrierung zu nehmen (das heißt, lokale Migration des Docker-Images). Die Lösung ist auch ganz einfach:Verwenden Sie die Speicher- und Ladebefehle von Docker. Die spezifischen Schritte sind wie folgt 1. Listen Sie alle Docker-Images auf Maschine A auf und suchen Sie den Image-Namen, den Sie speichern möchten sudo Docker-Bilder 2. Verwenden Sie den Befehl „docker save“ auf Maschine A, um das Image als TAR-Datei zu speichern sudo docker save image_name -o Dateipfad Dabei wird image_name durch den im ersten Schritt ermittelten Namen des zu speichernden Bildes ersetzt. file_path ist der exportierte Tar-Dateipfad, z. B. /home/tmp/image1.tar 3. Übertragen Sie die exportierte Image-TAR-Datei auf einen anderen Computer, beispielsweise Computer B. Hierzu stehen Ihnen verschiedene Methoden, wie beispielsweise scp etc. zur Verfügung, welche hier jedoch nicht näher beschrieben werden. 4. Verwenden Sie den Befehl „Docker Load“, um die Image-TAR-Datei auf den Computer zu laden, der das Image verwenden muss (z. B. Computer B). sudo docker load -i Dateipfad Hinweis: Darüber hinaus können Sie auch die Export- und Importbefehle von Docker verwenden, um ähnliche Funktionen zu erreichen. Sie können die Unterschiede zwischen Exportieren/Speichern und Importieren/Laden im Internet nachlesen, daher werde ich hier nicht näher darauf eingehen. Der grundlegende Unterschied besteht darin, dass ein Container exportiert wird (ohne Verlauf und Layer-Informationen), während ein Image gespeichert wird (mit vollständigem Verlauf und Layer-Informationen, das Layer-Rollback unterstützt). Ergänzung: Backup und Migration von Docker-Images Erster Schritt:Verwenden Sie den Befehl docker ps -a, um alle Container anzuzeigen [root@localhost ~]# docker ps -a CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 9505a10e6d29 nginx „nginx -g ‚Daemon von …‘“ vor 34 Minuten Beendet (0) vor 8 Minuten mynginx 4c89fff9ac8c mysql:5.6 "docker-entrypoint.s..." vor 11 Tagen Beendet (0) vor 11 Tagen mymysql 0abefefe2592 centos "/bin/bash" vor 2 Monaten Beendet (255) vor 12 Tagen mycentos Schritt 2:Der Container wird als Objekt gespeichert, der Docker-Commit-Containername soll gespeichert werden [root@localhost conf]# Docker-Commit mynginx mynginx_backup sha256:a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a Schritt 3:Sehen Sie sich das gerade gespeicherte Bild an [root@localhost conf]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE mynginx_backup latest a6ca067596a2 vor 19 Sekunden 109MB Schritt 4:Imagesicherung (als Tar-Datei gespeichert), docker save -o Containername.zu speichernder Tar-Name [root@localhost ~]# docker save -o mynginx.tar mynginx_backup Schritt 5:Aktuelles Verzeichnis anzeigen [root@localhost ~]# ls anaconda-ks.cfg conf-Daten initial-setup-ks.cfg Java-Protokolle mynginx.tar original-ks.cfg Schritt 6:Löschen Sie das Originalbild und zeigen Sie es an [root@localhost ~]# docker rmi mynginx_backup Ohne Tag: mynginx_backup:latest Gelöscht: sha256:a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a Gelöscht: sha256:facd3b28655186bdc7349bc017557ed80f94155831a8a3ed936f498e2f5b6b1c [root@localhost ~]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE Schritt 7:Image-Wiederherstellung, Docker-Load -i gepackter Container-Dateiname.tar [root@localhost ~]# docker load -i mynginx.tar ea4399e4dbe6: Ebene wird geladen [======================================================>] 6,656kB/6,656kB Geladenes Bild: mynginx_backup:latest [root@localhost ~]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE mynginx_backup latest a6ca067596a2 vor 7 Minuten 109 MB Schritt 8:Verwenden Sie dieses Image, um einen Container zu erstellen [root@localhost ~]# docker run --name mynginx2 -p 80:80 -d mynginx_backup a4809747f3c233d5a8f0c35542449adda10c06305f32c32a55e4842630212760 Schritt 9:Geben Sie die IP-Adresse in den Browser ein, um zu sehen, ob es erfolgreich war 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:
|
<<: HTML ist etwas, das Webseiten-Ersteller lernen und beherrschen müssen.
>>: js, um einen 3D-Karusselleffekt zu erzielen
1. Grundstruktur der Webseite: XML/HTML-CodeInhal...
Ich habe gelernt, wie man https bekommt. Kürzlich...
In diesem Artikelbeispiel wird der spezifische Ja...
MyISAM, eine häufig verwendete Speicher-Engine in...
1. Wer ist Tomcat? 2. Was kann Tomcat? Tomcat ist...
Vorwort Bei der tatsächlichen Entwicklung werden ...
Dies ist ein Problem, das leicht übersehen wird. ...
Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...
Auf einer Webseite wird das Element <input typ...
Vorwort Ich arbeite derzeit an der Datenanalysepl...
<br />Vorwort: Bevor Sie dieses Tutorial les...
Inhaltsverzeichnis Vorwort 1. Deinstallieren Sie ...
1. Verwenden Sie ein Centos-Image, um eine lokale...
Beeinflusst Farbe die Website-Besucher? Vor einig...
Informationen zu MySQL-Vorgängen abfragen Status ...