Różnica między rejestrem Dockera a repozytorium
Jestem zdezorientowany co do różnicy między rejestrami Dockera a repozytoriami. Wygląda na to, że dokumentacja Dockera używa tych dwóch słów zamiennie. Ponadto repozytoria są czasami określane jako obrazy, takie jak to z ich dokumentów:
Aby wypchnąć repozytorium do jego rejestru, musisz mieć nazwane obraz lub przypisał kontener do obrazu o nazwie, jak widzieliśmy tutaj.
Teraz możesz wypchnąć to repozytorium do rejestru wyznaczony przez its nazwa lub znacznik.
Jak można wcisnąć repozytorium do rejestru? Nie wpychasz obrazu do repozytorium?
7 answers
Docker registry to usługa, która przechowuje obrazy Dockera.
Rejestr Dockera może być hostowany przez stronę trzecią, jako rejestr publiczny lub prywatny, jak jeden z następujących rejestrów:
LUB możesz samodzielnie hostować rejestr dokerów
(patrz https://docs.docker.com/ee/dtr / dla więcej szczegółów).
Repozytorium Dockera jest zbiorem różnych obrazów Dockera o tej samej nazwie, które mają różne tagi. Tag jest alfanumerycznym identyfikatorem obrazu w repozytorium.
Na przykład patrz https://hub.docker.com/r/library/python/tags/. istnieje wiele różnych tagów dla oficjalnego obrazu Pythona, wszystkie te znaczniki są członkami oficjalnego repozytorium Pythona w Docker Hub. Docker Hub to rejestr Dockerów obsługiwany przez Docker.
Aby znaleźć więcej Czytaj:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-01 01:59:18
Z książki Używanie Dockera, Tworzenie i wdrażanie oprogramowania z kontenerami
Rejestry, repozytoria, Obrazy i Tagi
Istnieje hierarchiczny system przechowywania obrazów. Stosuje się następującą terminologię:
Rejestr
Serwis Odpowiedzialny za hosting i dystrybucję obrazów. Domyślnym rejestrem jest Docker Hub.
Repozytorium
Zbiór powiązanych obrazów (Zwykle dostarczających różnych wersje tej samej aplikacji lub usługi).
Tag
Alfanumeryczny identyfikator dołączony do obrazów w repozytorium (np. 14.04 lub stable ).
Więc polecenie docker pull amouat/revealjs:latest
pobierze obraz oznaczony jako ostatni z repozytorium amouat/revealjs
z rejestru Docker Hub.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55
Uzupełnienie informacji:
- zazwyczaj przepychasz repozytorium do rejestru (i wszystkie obrazy, które są jego częścią). Ale można wypchnąć pojedynczy obraz do rejestru. We wszystkich przypadkach używasz
docker push
. - obraz ma 12-hex-cyfrowy identyfikator obrazu, ale jest również identyfikowany przez:
namespace/repo-name:tag
- pełna nazwa obrazu może być opcjonalnie poprzedzona nazwą hosta rejestru i portem:
myregistryhost:5000/namespace/repo-name:tag
- powszechną konwencją nazewnictwa jest używanie nazwy użytkownika rejestru jako tego, co nazwałem "przestrzenią nazw".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-14 18:22:07
Repozytorium Dockera jest ładną kombinacją registry
i image
.
docker tag foo <registry>/<image>:<tag>
Jest tym samym co
docker tag foo <repository>:<tag>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-25 16:52:21
Docker Registry to usługa, którą możesz hostować samodzielnie (zaufany i prywatny) lub pozwolić docker hub być hostem dla tej usługi. Zazwyczaj, jeśli twoje oprogramowanie jest komercyjne, będziesz hostował to jako" prywatny i zaufany " rejestr. Dla programistów Java jest to nieco analogiczne do konfiguracji Maven Artifactory.
Repozytorium Docker jest zbiorem" oznaczonych " obrazów. Na przykład możesz oznaczyć 5 z ubuntu:latest
obrazów:
A) edytor Nano (image1_tag: v1)
B) a specific software 1 (image1_tag:v2)
C) Sudo (image1_tag: v3)
D) Apache http daemon (image1_tag:v4)
E) tomcat (image1_tag:v5)
Możesz użyć polecenia docker push
, aby przesłać każdy z powyższych obrazów do swojego repozytorium. Tak długo, jak nazwy repozytoriów się zgadzają, zostaną one pomyślnie wypchnięte i pojawią się pod wybranym repozytorium i będą prawidłowo oznakowane.
Teraz twoje pytanie brzmi: "więc gdzie jest to repozytorium hostowane / kto jest zarządzanie serwisem"? W tym miejscu pojawia się rejestr Dokerów. Domyślnie otrzymasz Docker Hub registry (Open Source), którego możesz użyć do przechowywania prywatnego / publicznego repozytorium. Tak więc bez żadnych modyfikacji obrazy zostaną przeniesione do prywatnego repozytorium w docker hub. Przykładowe wyjście podczas przesuwania znaczników obrazu jest 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:/$
I jeśli wpiszesz natychmiast docker images --digests -a
możesz potwierdzić, że Twoje znaczniki obrazu wyświetlają teraz nowy podpis na prywatne repozytorium zarządzane przez docker Hub registry.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-11 11:48:35
Docker Hub i inne usługi hostingowe repozytoriów stron trzecich nazywane są "rejestrami". Rejestr przechowuje zbiór repozytoriów.
Ponieważ rejestr może mieć wiele repozytoriów, a repozytorium może mieć wiele różnych wersji tego samego obrazu, które są indywidualnie wersjonowane tagami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-12 21:27:21
Rejestr obrazów Dockera to miejsce do przechowywania wszystkich obrazów Dockera. Rejestr obrazów umożliwia przesuwanie i ciągnięcie obrazów kontenerów w razie potrzeby.
Rejestry mogą być prywatne lub publiczne. Gdy rejestr jest publiczny, obrazy są udostępniane całemu światu, podczas gdy w rejestrze prywatnym obrazy są udostępniane tylko członkom przedsiębiorstwa lub zespołu.
Rejestr umożliwia demonowi Dockera łatwe pobieranie i uruchamianie obrazów Dockera.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-14 08:57:40