컨테이너 레지스트리 이란
Docker 이미지 저장소
컨테이너 레지스트리
컨테이너 레지스트리는 Docker 이미지 및 기타 OCI 호환 아티팩트를 위한 중앙 집중식 저장소로, 버전 관리, 접근 제어 및 컨테이너 배포를 제공합니다.
레지스트리 유형
| 유형 | 예시 | |------|------| | 퍼블릭 | Docker Hub, GitHub Container Registry | | 클라우드 | AWS ECR, Google GCR, Azure ACR | | 셀프 호스팅 | Harbor, Nexus, JFrog Artifactory | | GitLab | GitLab Container Registry |
주요 기능
- 이미지 저장 — 중앙 집중식 저장소
- 버전 관리 — 식별을 위한 태그 및 다이제스트
- 접근 제어 — RBAC 및 보안 정책
- 취약점 스캔 — Trivy, Clair 통합
- 복제 — 지역 간 미러링
레지스트리 작업
| 명령 | 설명 | |------|------| | docker login | 레지스트리 인증 | | docker push | 이미지 업로드 | | docker pull | 이미지 다운로드 | | docker tag | 태그 생성 |
모범 사례
- 불변 태그 사용 (latest 사용 금지)
- 이미지 취약점 스캔
- 이미지 서명 (Cosign, Notary)
- 오래된 이미지 정리 정책 설정
- 가비지 컬렉션 활성화
CI/CD 통합
# GitLab CI 예시
build:
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA