Überwachen eines Repositorys und Pushen aller vorhandenen Images
In diesem Schritt lernen Sie, wie Sie ein vorhandenes Image taggen und es in eine Docker-Registry pushen können. Das Pushen von Images ermöglicht es Ihnen, Ihre benutzerdefinierten Images oder modifizierte Versionen von vorhandenen Images mit anderen zu teilen oder sie an einem Remote-Speicherort zu speichern.
Bevor Sie ein Image pushen können, müssen Sie es mit der Registry-Adresse, Ihrem Benutzernamen und dem Repository-Namen taggen. Wir verwenden das ubuntu:20.04
-Image, das Sie im vorherigen Schritt heruntergeladen haben. Taggen wir es, um es auf Docker Hub zu pushen. Ersetzen Sie your_docker_username
durch Ihren tatsächlichen Docker Hub-Benutzernamen.
docker tag ubuntu:20.04 your_docker_username/ubuntu:20.04
Dieser Befehl erstellt einen neuen Tag für das ubuntu:20.04
-Image. Der neue Tag lautet your_docker_username/ubuntu:20.04
. Das Format ist [registry]/[username]/[repository]:[tag]
. Wenn Sie auf Docker Hub pushen, können Sie den Registry-Teil (docker.io/
) weglassen.
Jetzt listen wir erneut Ihre lokalen Images auf, um den neuen Tag zu sehen.
docker images
Sie sollten einen Eintrag sehen, bei dem your_docker_username/ubuntu
das Repository und 20.04
der Tag ist, und der dieselbe Image-ID wie das ursprüngliche ubuntu:20.04
-Image hat.
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest ... ... ...
ubuntu 20.04 ... ... ...
ubuntu 18.04 ... ... ...
your_docker_username/ubuntu 20.04 ... ... ...
Nachdem das Image korrekt getaggt wurde, können Sie es in Ihr Docker Hub-Repository pushen. Hinweis: Sie müssen sich bei Docker Hub angemeldet haben, um Images zu pushen. Wenn Sie nicht angemeldet sind, wird der docker push
-Befehl fehlschlagen. Für den Zweck dieses Labs demonstrieren wir den Befehl, aber Sie müssen das Image nicht erfolgreich pushen, es sei denn, Sie haben ein Docker Hub-Konto und sind angemeldet.
docker push your_docker_username/ubuntu:20.04
Wenn Sie angemeldet sind, werden Sie eine Ausgabe sehen, die angibt, dass die Layer in die Registry gepusht werden. Wenn Sie nicht angemeldet sind, erhalten Sie einen Authentifizierungsfehler.
The push refers to repository [docker.io/your_docker_username/ubuntu]
...
Dieser Befehl lädt das Image mit dem angegebenen Tag in Ihr Repository auf Docker Hub hoch.
Obwohl Sie nicht mit einem einzigen Befehl ein Repository "überwachen" und alle vorhandenen Images automatisch pushen können, können Sie dies erreichen, indem Sie die docker tag
- und docker push
-Befehle für die Images, die Sie pushen möchten, in ein Skript packen.