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

Einige weniger bekannte Sortiermethoden in MySQL

Vorwort ORDER BY 字段名升序/降序. Ich glaube, jeder hier...

Beispielcode für ein Mysql-SQL-Überwachungsskript für langsame Abfragen

1. Ändern Sie my.cnf #Der Gesamteffekt besteht da...

25 Vue-Tipps, die Sie kennen müssen

Inhaltsverzeichnis 1. Beschränken Sie Requisiten ...

33 der besten kostenlosen englischen Schriftarten geteilt

ChunkFive Freie Schriftfamilie Cuprum JAH I Kosten...

Sieben verschiedene Farbschemata für das Website-Design-Erlebnis

Die Farbabstimmung beim Erstellen einer Website i...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.21

Notieren Sie die Installations- und Konfiguration...

Auszeichnungssprachen – Nochmal auflisten

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Was ist HTML?

Geschichte der HTML-Entwicklung: HTML steht im En...

JavaScript zum Erzielen des JD.com-Blitzverkaufseffekts

In diesem Artikel wird der spezifische JavaScript...

So verwenden Sie js, um festzustellen, ob eine Datei UTF-8-codiert ist

Konventionelle Lösung Verwenden Sie FileReader, u...

HTML-Tabellen-Tag-Tutorial (7): Hintergrundfarbattribut BGCOLOR

Die Hintergrundfarbe der Tabelle kann über das At...

So betreiben Sie eine MySQL-Datenbank mit dem ORM-Modell-Framework

Was ist ORM? ORM steht für Object Relational Mapp...

Detaillierte Verwendung des Vue-Timers

In diesem Artikelbeispiel wird der spezifische Co...