Container & K8S/Docker

[Docker] 도커 레지스트리와 도커 허브

dhyuck 2021. 9. 22. 17:32
반응형

도커 레지스트리는 도커 이미지를 저장하고 배포 할 수 있는 서버 프로그램으로, 이미지를 저장하고 배포하는 표준 방법입니다.
도커 레지스트리는 Apache 라이센스를 따르는 오픈소스입니다.

도커 허브는 도커 사에서 호스팅하는 도커 레지스트리이며, 도커에서 기본으로 참조합니다.

  • 도커 허브 계정 로그인 / 로그아웃

      docker login
      docker logout
  • 도커 허브로 이미지 Push / Pull

      docker image push {계정명}/{저장소명}:[태그 이름]
      docker image pull {계정명}/{저장소명}:[태그 이름]
    
      # ex) 도커 허브 "hyuckang" 계정의 "test_ubuntu" 레포지토리에 "1.0" 태그로 push/pull
      docker image push hyuckang/test_ubuntu:1.0
      docker image pull hyuckang/test_ubuntu:1.0
    
      # 위의 명령과 동일하다
      docker image push docker.io/hyuckang/test_ubuntu:1.0
      docker image pull docker.io/hyuckang/test_ubuntu:1.0
  • 도커 로컬 레지스트리 실행

    로컬 레지스트리는 도커에서 제공하는 레지스트리 이미지로 컨테이너를 구동하여 구축합니다.

      docker container run -d -p 5005:5000 --restart=always --name my_registry registry:2
      # --restart always의 경우 도커 엔진이 재시작되는 경우 자동으로 컨테이너를 재시작하도록 하는 옵션입니다.
  • 도커 로컬 레지스트리로 이미지 Push / Pull

    로컬 레지스트리에 이미지를 Push / Pull 하기 위해서는 어떻게 해야 할까?

    기본적으로 도커 허브가 기본 레지스트리이기 때문에 이미지 태그에서docker.io가 생략 되어있다.

    (docker pull ubuntudocker pull docker.io/library/ubuntu 의 단축키이다)

    그렇기 때문에 로컬 레지스트리로 찾아서 이미지 태그를 Push/Pull하기 위해서는 이미지 태그에 도메인이 있어야 한다.

    (docker pull myregistrydomain:port/foo/bar 명령은 myregistry:port에 있는 레지스트리에서 foo/bar 이미지를 찾는 명령입니다.)

      docker image push {도메인명}/{이미지명}
      docker image pull {도메인명}/{이미지명}
    
      # ex) 
      docker image push localhost:5005/hyuckang_base:1.0
      docker iamge pull localhost:5005/hyuckang_base:1.0
    
      docker image push localhost:5005/hyuckang/test_ubuntu:1.0
      docker image push localhost:5005/hyuckang/test_ubuntu:1.1
  • 도커 로컬 레지스트리에 저장되어 있는 이미지 확인하기

      http://<ip/hostname>:<port>/v2/_catalog
    
      # ex)
      curl http://localhost:5005/v2/_catalog
  • 도커 로컬 레지스트리에 저장되어 있는 이미지의 태그 확인하기

      http://<ip/hostname>:<port>/v2/<이미지명>/tags/list
    
      # ex)
      curl http://localhost:5005/v2/hyuckang/test_ubuntu/tags/list
      curl http://localhost:5005/v2/hyuckang_base/tags/list

반응형