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?

 155
Author: Kingamere, 2015-11-30

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:

 181
Author: Nemanja Trifunovic,
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.

 68
Author: Community,
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".
 13
Author: Paulo Merson,
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>
 2
Author: dhulihan,
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.

 1
Author: ha9u63ar,
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.

 0
Author: Abhishek Jain,
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.

 0
Author: Steffi Keran Rani J,
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