Docker Registry ist ein Dienst, den Sie entweder selbst hosten können (vertrauenswürdig und privat) oder Docker Hub als Host für diesen Dienst festlegen können. Wenn Ihre Software kommerziell ist, haben Sie diese normalerweise als "Private and Trusted" -Registrierung gehostet. Für Java-Entwickler ist dies etwas analog zum Setup von Maven Artifactory.
Docker Repository ist eine Reihe von "Tagged" -Bildern. Ein Beispiel ist, dass Sie möglicherweise 5 ubuntu:latest
Bilder markiert haben :
a) Nano-Editor (image1_tag: v1)
b) Eine bestimmte Software 1 (image1_tag: v2)
c) Sudo (image1_tag: v3)
d) Apache-http-Daemon (image1_tag: v4)
e) Kater (image1_tag: v5)
Mit dem docker push
Befehl können Sie jedes der oben genannten Bilder in Ihr Repository übertragen. Solange die Repository-Namen übereinstimmen, werden sie erfolgreich übertragen und unter dem von Ihnen ausgewählten Repository angezeigt und korrekt markiert.
Ihre Frage lautet nun: "Wo wird dieses Repository gehostet / wer verwaltet den Dienst?" Hier kommt die Docker-Registrierung ins Spiel. Standardmäßig erhalten Sie eine Docker-Hub-Registrierung (Open Source), mit der Sie Ihr privates / öffentliches Repository verwalten können. Ohne Änderungen werden Ihre Bilder in Ihr privates Repository im Docker-Hub verschoben. Eine Beispielausgabe beim Verschieben Ihrer Bild-Tags lautet wie folgt:
docker@my-docker-vm:/$ docker push mydockerhub/my-helloworld-repo:my_tag
The push refers to repository [docker.io/mydockerhub/my-helloworld-repo]
bf41e934d39d: Pushed
70d93396f87f: Pushed
6ec525dfd060: Pushed
705419d10b13: Pushed
a4aaef726d02: Pushed
04964fddc946: Pushed
latest: digest: sha256:eb93c92351bce785aa3ec0de489cfeeaafd55b7d90adf95ecea02629b376e577 size: 1571
docker@my-docker-vm:/$
Wenn Sie sofort docker images --digests -a
eingeben, können Sie bestätigen, dass Ihre Push-Image-Tags jetzt eine neue Signatur für das private Repository anzeigen, das von der Docker-Hub-Registrierung verwaltet wird.