Docker Registry è un servizio che puoi ospitare tu stesso (Trusted e Private) oppure puoi lasciare che l'hub docker sia l'host per questo servizio. Di solito, se il tuo software è commerciale, lo avrai ospitato come un registro "privato e attendibile". Per gli sviluppatori Java, questo è in qualche modo analogo all'installazione di Maven Artifactory.
Docker Repository è un insieme di immagini "Taggate". Un esempio è che potresti aver taggato 5 ubuntu:latest
immagini:
a) Nano editor (image1_tag: v1)
b) Un software specifico 1 (image1_tag: v2)
c) Sudo (image1_tag: v3)
d) demone http di apache (image1_tag: v4)
e) tomcat (image1_tag: v5)
È possibile utilizzare il docker push
comando per inviare ciascuna delle immagini sopra al repository. Finché i nomi del repository corrispondono, verranno spinti correttamente e appariranno nel repository scelto e correttamente taggati.
Ora, la tua domanda è "Allora, dove è ospitato questo repository / chi gestisce il servizio"? È qui che entra in scena il registro Docker. Per impostazione predefinita, otterrai un registro hub docker (Open Source) che puoi utilizzare per conservare il tuo repository privato / pubblico. Quindi, senza alcuna modifica, le tue immagini verranno trasferite nel tuo repository privato nell'hub docker. Un esempio di output quando si spingono i tag immagine sono i seguenti:
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:/$
E se si digita immediatamente, docker images --digests -a
è possibile confermare che i tag delle immagini inviate mostrano ora una nuova firma rispetto al repository privato gestito dal registro dell'hub docker.