IT

Docker 대부분과 저장소의 차이점

lottoking 2020. 7. 16. 07:53
반응형

Docker 대부분과 저장소의 차이점


도커 만과 리포지토리의 차이점에 혼란 스럽습니다. Docker 문서는 두 단어를 상호 교환 적으로 사용하는 것처럼 보입니다. 또한 리포지토리는 문서에서 다음과 같은 이미지라고도합니다.

저장소를 선택하여 선택하거나 컨테이너를 이름 지정 이미지로 커밋해야합니다.

이제이 저장소를 이름 또는 태그로 푸시로 푸시 할 수 있습니다.

저장소를 푸시에 어떻게 푸시 할 수 있습니까? 이미지를 저장소로 푸시하지 꼭보입니까?


도커는 도커 이미지를 저장하는 서비스입니다.

Docker Registry는 다음과 같이 공개 또는 개인 소유로 호스팅 할 수 있습니다.

또는 도커를 직접 호스팅 할 수 있습니다
( 자세한 내용 https://docs.docker.com/docker-trusted-registry/ 참조).

Docker 저장소는 이름이 같고 태그가 다른 여러 Docker 이미지 모음입니다. 태그는 리포지토리 내 이미지의 영숫자 식별자입니다.

예를 들어 https://hub.docker.com/r/library/python/tags/ 를 참조 하십시오 . 공식 고유 이미지에는 여러 가지 태그가 있습니다.이 태그는 모두 Docker Hub에있는 공식 저장소의 멤버입니다. Docker Hub는 Docker가 호스팅하는 Docker Registry입니다.

더 많은 것을 존재한다는 것 :


Docker 사용, 컨테이너를 사용하여 소프트웨어 개발 및 배포 책에서

게재, 리포지토리, 이미지 및 태그

이미지를 저장하기위한 계층 적 시스템이 있습니다. 다음과 같은 용어가 사용됩니다.

기재

이미지 호스팅 및 배포를 담당하는 서비스입니다. 기본 보관는 Docker Hub입니다.

저장소

관련 이미지 모음 (일반적으로 동일한 응용 프로그램 또는 서비스의 다른 버전을 제공)

꼬리표

저장소 내의 이미지에 추측 영숫자 식별자 (예 : 14.04 또는 안정).

따라서 명령 docker pull amouat/revealjs:latestamouat/revealjsDocker Hub 표준에서 저장소 내에서 최신 태그가 지정된 이미지를 다운로드합니다 .


정보 보완 :

  • 일반적으로 저장소를 (및 그 일부인 모든 이미지) 푸시합니다. 그러나 단일 이미지를 푸시 할 수 있습니다. 모든 경우에 사용 docker push합니다.
  • 이미지는 12 자리 숫자 이미지 ID를 갖지만 다음과 같이 이미지됩니다. namespace/repo-name:tag
  • 이미지 전체 이름은 호스트 이름 및 포트로 선택적으로 접 두부로 있습니다. myregistryhost:5000/namespace/repo-name:tag
  • 일반적인 이름으로 명명 된 명명 규칙은 스페이스 사용자 이름을 "네임 스페이스"입니다.

고정 표시기 저장소의 귀여운 조합 registryimage.

docker tag foo <registry>/<image>:<tag>

와 같다

docker tag foo <repository>:<tag>

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 및 기타 보관 저장소 호스팅 서비스를 "코드 리"라고합니다. 보관는 리포지토리 모음을 저장합니다.

레지스트리는 많은 저장소를 가질 수 있고 저장소는 태그로 개별적으로 버전이 지정된 동일한 이미지의 여러 버전을 가질 수 있습니다.

참고 URL : https://stackoverflow.com/questions/34004076/difference-between-docker-registry-and-repository

반응형