Docker Registry to usługa, którą możesz hostować samodzielnie (zaufana i prywatna) lub pozwolić, aby docker hub był hostem dla tej usługi. Zwykle, jeśli twoje oprogramowanie jest komercyjne, będziesz je hostować jako rejestr „prywatny i zaufany”. W przypadku programistów Java jest to nieco analogiczne do konfiguracji Maven Artifactory.
Docker Repository to zestaw obrazów „Tagged”. Na przykład możesz oznaczyć 5 ubuntu:latestobrazów:
a) Edytor Nano (image1_tag: v1)
b) Specyficzne oprogramowanie 1 (image1_tag: v2)
c) Sudo (image1_tag: v3)
d) demon apache http (image1_tag: v4)
e) kocur (image1_tag: v5)
Możesz użyć docker pushpolecenia, aby wypchnąć każdy z powyższych obrazów do swojego repozytorium. Dopóki nazwy repozytoriów pasują do siebie, zostaną pomyślnie przekazane i pojawią się pod wybranym repozytorium oraz prawidłowo oznaczone.
Teraz twoje pytanie brzmi: „Więc gdzie jest hostowane to repozytorium / kto zarządza usługą”? W tym miejscu pojawia się Docker Registry. Domyślnie otrzymasz rejestr docker hub (Open Source), którego możesz użyć do przechowywania prywatnego / publicznego repozytorium. Więc bez żadnych modyfikacji Twoje obrazy zostaną przeniesione do Twojego prywatnego repozytorium w Docker Hub. Przykładowe dane wyjściowe podczas przekazywania tagów graficznych są następujące:
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:/$
A jeśli od razu docker images --digests -awpiszesz, możesz potwierdzić, że przesłane znaczniki obrazu pokazują teraz nowy podpis w prywatnym repozytorium zarządzanym przez rejestr docker hub register.