Docker / / 2024. 12. 3. 15:00

Docker 레지스트리

Docker 레지스트리란?

Docker 레지스트리(Docker Registry)는 Docker 이미지를 저장하고 관리하기 위한 저장소 시스템입니다.
개발자와 운영자가 이미지를 공유하고 배포하기 위해 필수적인 도구입니다.


1. Docker 레지스트리의 주요 개념

1.1 Docker 레지스트리(Docker Registry)

  • 이미지 저장소: Docker 이미지를 저장하고 관리하는 중앙 서버.
  • 공개 및 비공개: 이미지가 누구에게나 공개될 수도 있고, 특정 사용자만 접근 가능한 비공개 설정도 가능.

1.2 Docker 허브(Docker Hub)

  • Docker에서 제공하는 공식 레지스트리 서비스.
  • 기본 설정: docker pull이나 docker push 명령어를 실행하면 기본적으로 Docker Hub와 통신.

1.3 프라이빗 레지스트리(Private Registry)

  • 조직 내부에서만 사용하는 비공개 레지스트리.
  • 자체적으로 호스팅하여 보안과 커스터마이징 강화 가능.

2. Docker 레지스트리의 동작 방식

  1. 이미지 푸시(push):
    • 개발자가 Docker 이미지를 레지스트리에 업로드.
    • 예:
      docker push myregistry.com/myimage:latest
  2. 이미지 풀(pull):
    • 다른 사용자가 레지스트리에서 이미지를 다운로드.
    • 예:
      docker pull myregistry.com/myimage:latest
  3. 태그(Tag):
    • 이미지는 태그를 사용하여 버전 관리 가능.
    • 예:
      docker tag myimage:latest myregistry.com/myimage:v1.0

3. Docker 레지스트리 사용 사례

  1. 공개 이미지 배포:
    • 오픈소스 프로젝트나 일반적인 애플리케이션 이미지를 공개 배포.
  2. 조직 내부 배포:
    • 기업 내부에서만 사용하는 애플리케이션 이미지 관리.
  3. CI/CD 파이프라인 통합:
    • 지속적 통합/배포(CI/CD) 환경에서 Docker 이미지를 버전별로 저장하고 배포.

4. Docker Hub와 프라이빗 레지스트리 비교

특징 Docker Hub 프라이빗 레지스트리
접근성 누구나 접근 가능 (공개 이미지만) 조직 내부에서만 사용 가능
보안 공개 이미지는 보안에 취약 완전한 제어와 보안 가능
커스터마이징 불가능 설정과 동작을 자유롭게 커스터마이징 가능
비용 기본 무료, 유료 플랜 가능 자체 서버와 유지 비용 필요

5. 프라이빗 레지스트리 구축

5.1 레지스트리 컨테이너 실행

Docker에서 자체 레지스트리를 실행하려면 registry 이미지를 사용:

docker run -d -p 5000:5000 --name registry registry:2

5.2 이미지 푸시와 풀

  1. 레지스트리에 이미지 푸시:
  2. docker tag myimage localhost:5000/myimage docker push localhost:5000/myimage
  3. 레지스트리에서 이미지 풀:
  4. docker pull localhost:5000/myimage

5.3 보안 설정

프라이빗 레지스트리에서 인증과 HTTPS를 설정하여 보안을 강화.


6. Docker 레지스트리 관리

6.1 이미지 목록 확인

프라이빗 레지스트리에 저장된 이미지 확인:

curl http://localhost:5000/v2/_catalog

6.2 특정 이미지의 태그 확인

curl http://localhost:5000/v2/myimage/tags/list

7. 결론

Docker 레지스트리는 Docker 이미지를 관리하고 배포하는 핵심 도구입니다.
Docker Hub와 프라이빗 레지스트리를 적절히 활용하면 팀 협업과 배포 환경의 효율성을 극대화할 수 있습니다.

'Docker' 카테고리의 다른 글

Docker 이미지 레이어  (0) 2024.12.04
Makefile  (0) 2024.12.03
Dockerfile과 Alpine  (0) 2024.12.03
BusyBox와 Debian 비교  (0) 2024.12.03
Fork  (0) 2024.12.03
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유