Senden Sie das Image über den Container DockerCommit und pushen Sie das Image DockerPush

Senden Sie das Image über den Container DockerCommit und pushen Sie das Image DockerPush

Nachdem Sie einen Container lokal erstellt haben, können Sie basierend auf diesem Container ein lokales Image erstellen und dieses Image zum Herunterladen und Verwenden im Internet an den Docker-Hub senden.

Sehen Sie sich das Bild an [root@docker-test1 ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
docker.io/ubuntu 16.04 7aa3602ab41e vor 5 Wochen 115 MB
 
Erstellen Sie einen Container mit dem Namen myubuntu [root@docker-test1 ~]# docker run -ti --name myubuntu -d docker.io/ubuntu
[root@docker-test1 ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
651a8541a47d docker.io/ubuntu "/bin/bash" vor 37 Sekunden Up 36 Sekunden myubuntu
 
 Docker-Commit: Erstellen Sie ein neues Image aus einem Container.
# Docker-Commit [OPTIONEN] CONTAINER [REPOSITORY[:TAG]]
-a: übermittelter Spiegelautor;
-c: Verwenden Sie Dockerfile-Anweisungen, um ein Image zu erstellen;
-m: Beschreibungstext beim Absenden;
-p: Hält den Container beim Commit an.
 
Senden Sie das Image basierend auf diesem Myubuntu-Container [root@docker-test1 ~]# docker commit -a "wangshibo" -m "this is test" 651a8541a47d myubuntu:v1
sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d
 
Überprüfen Sie das Image erneut und stellen Sie fest, dass das Image myubuntu:v1 an das lokale [root@docker-test1 ~]# Docker-Images übermittelt wurde.
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
myubuntu v1 6ce4aedd12cd vor 59 Sekunden 84,1 MB
docker.io/ubuntu 16.04 7aa3602ab41e vor 5 Wochen 115 MB
 
Pushen Sie das mybuntu:v1-Image in das Docker-Hub-Repository # docker push [OPTIONS] NAME[:TAG]
OPTIONS-Beschreibung:
--disable-content-trust: Bildüberprüfung ignorieren, standardmäßig aktiviert. Melden Sie sich zuerst beim Docker-Hub an (Benutzername: Wangshibo, Passwort: *******).
[root@docker-test1 ~]# Docker-Anmeldung
Melden Sie sich mit Ihrer Docker-ID an, um Bilder vom Docker Hub zu pushen und abzurufen. Wenn Sie keine Docker-ID haben, gehen Sie zu https://hub.docker.com, um eine zu erstellen.
Benutzername (wangshibo): wangshibo
Passwort:
Anmeldung erfolgreich
 
[root@docker-test1 ~]# docker push wangshibo/myubuntu:v1
Der Push verweist auf ein Repository [docker.io/wangshibo/myubuntu]
Ein Image mit dem Tag „docker.io/wangshibo/myubuntu“ existiert lokal nicht.
 
Hier müssen Sie das Ubuntu:v1-Image umbenennen und vor dem Namen die Docker-ID Ihres eigenen Docker-Hubs hinzufügen, d. h. wangshibo
 
[root@docker-test1 ~]# Docker-Tag 6ce4aedd12cd wangshibo/myubuntu:v1
[root@docker-test1 ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
myubuntu v1 6ce4aedd12cd vor 6 Minuten 84,1 MB
wangshibo/myubuntu v1 6ce4aedd12cd vor 6 Minuten 84,1 MB
docker.io/ubuntu 16.04 7aa3602ab41e vor 5 Wochen 115 MB
 
Erneut pushen (Hinweis: Das v1-Tag unten kann weggelassen werden, die Standardeinstellung ist „latest“). Der Push-Vorgang dauert etwas lange. Bitte warten Sie geduldig.
[root@docker-test1 ~]# docker push wangshibo/myubuntu:v1           
Der Push verweist auf ein Repository [docker.io/wangshibo/myubuntu]
b5948ba9486d: Geschoben
8d7ea83e3c62: Von Bibliothek/Ubuntu gemountet
6a061ee02432: Von Bibliothek/Ubuntu gemountet
f73b2816c52a: Von Bibliothek/Ubuntu gemountet
6267b420796f: Von Bibliothek/Ubuntu gemountet
a30b835850bf: Von Bibliothek/Ubuntu gemountet
v1: Digest: sha256:e9cd9075d262848a307c92751e1a5890d883b814a31abd118161442461a1ca2d Größe: 1564
 
Melden Sie sich abschließend bei Ihrem Docker Hub an: https://hub.docker.com/
Nach dem Einloggen können Sie das Bild wangshibo/myubuntu:v1 sehen, das Sie oben in Repositories hochgeladen haben. Dies ist ein externes Bild und kann aus dem Internet heruntergeladen werden.
Sie können den Download-Befehl für dieses Image auf dem Docker-Hub sehen (beachten Sie, dass Sie beim Herunterladen dem Tag folgen müssen. Wenn es sich um das Standard-Tag „latest“ handelt, können Sie es weglassen).
Sie können dieses Image auch direkt im Docker-Hub löschen (Repositories-Image-Einstellungen-Löschen).
 
Laden Sie beispielsweise dieses Image auf einen anderen Server herunter [root@kevin-test ~]# docker pull wangshibo/myubuntu
Repository wangshibo/myubuntu abrufen
Repository nicht gefunden
 
Muss mit dem Tag [root@kevin-test ~]# docker pull wangshibo/myubuntu:v1 Schritt halten
v1: Abrufen von Wangshibo/Myubuntu
68e2a091ef24: Ziehen abgeschlossen
8f9dd35f6299: Ziehen abgeschlossen
a81a6171600b: Ziehen abgeschlossen
a211a2bc7010: Ziehen abgeschlossen
9e71a0b4f83a: Ziehen abgeschlossen
0cf75bb335aa: Pull abgeschlossen
c393a882769e: Ziehen abgeschlossen
Zusammenfassung: sha256:845fa3dcc9d0de1b9c701e1009918995da35a29012015f6c297a05edc489e018
Status: Neueres Image für wangshibo/myubuntu:v1 heruntergeladen
[root@kevin-test ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT VIRTUELLE GRÖSSE
wangshibo/myubuntu v1 c393a882769e vor 12 Minuten 84,11 MB
 
Löschen Sie dieses Image auf diesem Computer [root@docker-test1 ~]# Docker-Images
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
myubuntu v1 6ce4aedd12cd vor 15 Minuten 84,1 MB
wangshibo/myubuntu v1 6ce4aedd12cd vor 15 Minuten 84,1 MB
docker.io/ubuntu 16.04 7aa3602ab41e vor 5 Wochen 115 MB
 
Beachten Sie, dass es oben zwei Image-IDs von 6ce4aedd12cd gibt. Sie können die Image-ID derzeit nicht direkt löschen, indem Sie sie verwenden [root@docker-test1 ~]# docker rmi 6ce4aedd12cd
Fehlerantwort vom Daemon: Konflikt: 6ce4aedd12cd kann nicht gelöscht werden (muss erzwungen werden) – auf das Image wird in mehreren Repositories verwiesen
 
Sie sollten das Image zunächst löschen, bevor der Docker-Tag umbenannt wird, und es unter Verwendung des Image-Namens löschen. (Im Allgemeinen ist es nach der Umbenennung des Docker-Tag-Images am besten, das Image vor der Namensänderung zu löschen.)
[root@docker-test1 ~]# docker rmi myubuntu:v1
Ohne Tag: myubuntu:v1
Ohne Tag: wangshibo/myubuntu@sha256:e9cd9075d262848a307c92751e1a5890d883b814a31abd118161442461a1ca2d
 
[root@docker-test1 ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
wangshibo/myubuntu v1 6ce4aedd12cd vor 15 Minuten 84,1 MB
docker.io/ubuntu 16.04 7aa3602ab41e vor 5 Wochen 115 MB
 
Zu diesem Zeitpunkt können Sie die Image-ID [root@docker-test1 ~]# docker rmi 6ce4aedd12cd löschen.
Ohne Tag: wangshibo/myubuntu:v1
Gelöscht: sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d
Gelöscht: sha256:0ddeb6a16badd042914c2e72b9ef0331550c1cdcc4bdc6650a90cd9f57f1501b
[root@docker-test1 ~]# Docker-Bilder         
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
docker.io/ubuntu 16.04 7aa3602ab41e vor 5 Wochen 115 MB

Ein Beispiel für einen Fehler beim Löschen eines Bilds

[root@docker-test1 ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
[root@docker-test1 ~]# docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
 
Ich möchte das Nginx-Image von Docker löschen, aber ich stelle fest, dass ich es nicht löschen kann. Ich kann es nicht löschen, indem ich -f hinzufüge. Es wird immer wieder der Fehler „Kein solches Image“ gemeldet.
Endlich einen Weg gefunden, die Datei direkt zu löschen!
 
[root@docker-test1 ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
nginx latest 62f816a209e6 vor 7 Tagen 109MB
 
[root@docker-test1 ~]# docker rmi nginx
Fehler: Kein solches Bild: nginx
 
[root@docker-test1 ~]# docker rmi 62f816a209e6
Fehler: Kein solches Bild: 62f816a209e6
 
[root@docker-test1 ~]# docker rmi 62f816a209e6 -f
Fehler: Kein solches Bild: 62f816a209e6
 
Wie oben kann ich das Nginx-Image überhaupt nicht löschen!!!!
 
Lösung:
[root@docker-test1 ~]# systemctl stop docker
[root@docker-test1 ~]# rm -rf /var/lib/docker
rm: „/var/lib/docker/containers“ kann nicht entfernt werden: Gerät oder Ressource beschäftigt
 
Der Grund, warum es nicht gelöscht werden kann, ist: Als der Container erstellt wurde, wurde das entsprechende Verzeichnis gemountet und nicht deinstalliert, sodass das Gerät oder die Ressource belegt ist
 
Lösung: Suchen Sie das gemountete Verzeichnis und deinstallieren Sie [root@docker-test1 ~]# cat /proc/mounts | grep "docker"
/dev/mapper/centos-root /var/lib/docker/containers xfs rw,relatime,attr2,inode64,noquota 0 0
proc /run/docker/netns/default proc rw,nosuid,nodev,noexec,relatime 0 0
proc /run/docker/netns/a0626c54fd03 proc rw,nosuid,nodev,noexec,relatime 0 0
proc /run/docker/netns/b18072de4224 proc rw,nosuid,nodev,noexec,relatime 0 0
proc /run/docker/netns/b5298f643455 proc rw,nosuid,nodev,noexec,relatime 0 0
proc /run/docker/netns/9f5e97637c98 proc rw,nosuid,nodev,noexec,relatime 0 0
 
[root@docker-test1 ~]# umount /var/lib/docker/containers
[root@docker-test1 ~]# rm -rf /var/lib/docker
 
[root@docker-test1 ~]# systemctl starte Docker
 
Überprüfen Sie es noch einmal und es gibt kein solches Bild [root@docker-test1 ~]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE

Oben sind die Details zum Senden von Bildern über DockerCommit und zum Pushen von Bildern über DockerPush aufgeführt. Weitere Informationen zum Senden von Containern und zum Pushen von Bildern finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Docker-Image erstellen Dockerfile und Commit-Operationen
  • Detaillierte Erläuterung des Funktionsprinzips und der Verwendung des Docker-Image-Submission-Befehls Commit
  • Docker-Lernhinweise: So übergeben Sie einen Container an ein Image
  • Detaillierte Erklärung zum Ändern vorhandener Images durch Docker (Commit)
  • Detaillierte Erklärung zum Docker-Lernen zum Erstellen eines Images mit dem Commit-Befehl
  • Beispiel und Funktion für den Commit-Vorgang eines Docker-Image

<<:  Das kreativste 404-Seitendesign der Geschichte verbessert effektiv das Benutzererlebnis der Website

>>:  So verwenden Sie die MySQL-Indexzusammenführung

Artikel empfehlen

MySQL-Reihe: Redo-Log, Undo-Log und Binlog – ausführliche Erklärung

Durchführung von Transaktionen Das Redo-Protokoll...

Beispiele für MySQL-Batch-Hinzufügungs- und Speichermethoden

Beim Anmelden am Stresstest sind viele verschiede...

Zwei Lösungen für das 404-Problem beim Aktualisieren des Vue-Paket-Upload-Servers

1: Nginx-Serverlösung, ändern Sie die .conf-Konfi...

Detaillierte Erläuterung der elastischen CSS3-Erweiterungsbox

verwenden Flexible Boxen spielen beim Front-End-L...

Einführung in die Verwendung von Unicode-Zeichen in Webseiten (&#, \u usw.)

Die ersten Computer konnten nur ASCII-Zeichen ver...

Zusammenfassung einiger gängiger Protokolle in MySQL

Vorwort: Im MySQL-System gibt es viele verschiede...

So betten Sie Dateien im Flash-Videoformat (FLV, SWF) in HTML-Dateien ein

Flash-Dateiformate: .FLV und .SWF Für das Flash-Vi...

Ein praktischer Bericht über XSS-Angriffe in einem VUE-Projekt

Inhaltsverzeichnis Vorwort Entdecken Sie die Ursa...

Grundlegende Anweisungen der MySQL-Datendefinitionssprache DDL

MySQL DDL-Anweisungen Was ist DDL, DML. DDL ist e...

Schreiben Sie einen formellen Blog mit XHTML CSS

Der vollständige Name von Blog sollte Weblog sein,...