Docker Registry는 직접 호스팅하거나 (신뢰할 수있는 개인용) Docker 허브를이 서비스의 호스트로 지정할 수있는 서비스입니다. 일반적으로 소프트웨어가 상용 인 경우이를 "개인 및 신뢰할 수있는"레지스트리로 호스팅합니다. Java 개발자의 경우 이는 Maven Artifactory 설정과 다소 유사합니다.
Docker Repository는 "태그 된"이미지 세트입니다. 예를 들어 5 개의 ubuntu:latest
이미지를 태그했을 수 있습니다 .
a) 나노 편집기 (image1_tag : v1)
b) 특정 소프트웨어 1 (image1_tag : v2)
c) Sudo (image1_tag : v3)
d) 아파치 http 데몬 (image1_tag : v4)
e) 바람둥이 (image1_tag : v5)
docker push
명령을 사용 하여 위의 각 이미지를 리포지토리에 푸시 할 수 있습니다 . 리포지토리 이름이 일치하는 한 성공적으로 푸시되고 선택한 리포지토리 아래에 올바르게 태그가 표시됩니다.
이제 귀하의 질문은 "이 저장소는 어디에서 호스팅되고 / 누가 서비스를 관리하고 있습니까?"입니다. Docker Registry가 등장합니다. 기본적으로 개인 / 공용 저장소를 유지하는 데 사용할 수있는 도커 허브 레지스트리 (오픈 소스)가 제공됩니다. 따라서 수정하지 않으면 이미지가 docker hub의 개인 저장소로 푸시됩니다. 이미지 태그를 푸시 할 때의 출력 예는 다음과 같습니다.
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:/$
그리고 즉시 입력 docker images --digests -a
하면 푸시 된 이미지 태그가 docker hub 레지스트리에서 관리하는 개인 저장소에 대해 새 서명을 표시하고 있음을 확인할 수 있습니다.