Docker Registry es un servicio que puede alojar usted mismo (de confianza y privado) o puede dejar que Docker Hub sea el anfitrión de este servicio. Por lo general, si su software es comercial, lo habrá alojado como un registro "privado y de confianza". Para los desarrolladores de Java, esto es algo análogo a la configuración de Maven Artifactory.
Docker Repository es un conjunto de imágenes "etiquetadas". Un ejemplo es que podría haber etiquetado 5 deubuntu:latest imágenes:
a) Nano editor (image1_tag: v1)
b) Un software específico 1 (image1_tag: v2)
c) Sudo (image1_tag: v3)
d) apache http daemon (etiqueta_de_imagen: v4)
e) tomcat (image1_tag: v5)
Puedes usar docker push comando para enviar cada una de las imágenes anteriores a su repositorio. Mientras los nombres del repositorio coincidan, se enviarán con éxito y aparecerán debajo del repositorio elegido y se etiquetarán correctamente.
Ahora, su pregunta es: "Entonces, ¿dónde está alojado este repositorio / quién administra el servicio"? Ahí es donde Docker Registry entra en escena. De forma predeterminada, obtendrá un registro de Docker Hub (código abierto) que puede usar para mantener su repositorio privado / público. Entonces, sin ninguna modificación, sus imágenes se enviarán a su repositorio privado en Docker Hub. Un ejemplo de salida cuando empuja sus etiquetas de imagen es el siguiente:
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:/$
Y si escribe de inmediato docker images --digests -a, puede confirmar que sus etiquetas de imagen insertadas ahora muestran una nueva firma en el repositorio privado administrado por el registro de Docker Hub.