본문 바로가기
github

컨테이너 레지스트리 완벽 비교 가이드 2026 — Docker Hub vs GitHub Packages vs ECR vs Harbor 선택 전략 완전 정복

by bamsik 2026. 3. 20.
반응형

컨테이너 레지스트리 완벽 비교 가이드 2026 — Docker Hub vs GitHub Packages vs ECR vs Harbor 선택 전략

컨테이너 기반 개발이 표준이 된 2026년, 컨테이너 레지스트리 선택은 팀의 DevOps 효율성과 직결됩니다. Docker Hub, GitHub Container Registry(GitHub Packages), AWS ECR, Harbor 등 10개 이상의 옵션이 존재하지만, 각각 생태계 통합, 가격 모델, 보안 기능, 지원 아티팩트가 다릅니다. 이 가이드에서는 2026년 기준으로 각 레지스트리를 실용적으로 비교하고, 팀 상황별 최적 선택 기준을 제시합니다.

컨테이너 레지스트리란?

컨테이너 레지스트리는 Docker 이미지(OCI 아티팩트)를 저장, 버전 관리, 배포하는 중앙 저장소입니다. 소스 코드의 GitHub 역할을 컨테이너 이미지에서 담당한다고 이해하면 됩니다.

레지스트리를 선택할 때 고려해야 할 핵심 요소:

  • 생태계 호환성: 현재 사용 중인 클라우드/CI/CD와의 통합
  • 가격 모델: 스토리지/트래픽 기반 vs 정액제 vs 오픈소스 자체 호스팅
  • 아티팩트 지원: Docker 이미지 외 Helm 차트, OCI 아티팩트 지원 여부
  • 보안 기능: 취약점 스캔, RBAC, 서명(cosign) 지원
  • 가용성과 SLA: 글로벌 CDN, 다중 지역 복제

주요 레지스트리 상세 비교

1. GitHub Packages (GitHub Container Registry)

GitHub 생태계를 사용하는 팀에게 가장 자연스러운 선택입니다. GitHub 릴리즈 관리와 연동해 컨테이너 이미지를 소스 코드 변경과 함께 추적할 수 있습니다.

장점:

  • GitHub Actions와 네이티브 통합 — 별도 인증 설정 없이 GITHUB_TOKEN으로 push/pull
  • 저장소 코드와 이미지를 같은 인터페이스에서 관리
  • 개인/오픈소스 프로젝트는 퍼블릭 이미지 무료
  • Docker 이미지 외 npm, Maven, NuGet, RubyGems 패키지도 지원
  • 뛰어난 개발자 경험과 공식 문서

단점:

  • 스토리지 및 데이터 전송 비용 발생 (GitHub 계정 포함 용량 초과 시)
  • 고급 보안 스캔은 GitHub Advanced Security 구독 필요
  • AWS/GCP/Azure 클라우드 네이티브 통합은 ECR/GCR보다 미약

적합한 팀: GitHub 중심 워크플로, 오픈소스 프로젝트, GitHub Actions CI/CD 파이프라인

# GitHub Actions에서 GitHub Packages 사용 예시
- name: Log in to GitHub Container Registry
  uses: docker/login-action@v3
  with:
    registry: ghcr.io
    username: ${{ github.actor }}
    password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
  uses: docker/build-push-action@v5
  with:
    push: true
    tags: ghcr.io/${{ github.repository }}:latest

2. Docker Hub

가장 오래되고 인기 있는 컨테이너 레지스트리입니다. Docker 이미지 표준이 Docker이기 때문에, Docker Hub와의 통합은 CLI 수준에서 이미 내장되어 있습니다.

장점:

  • 업계 최대 퍼블릭 이미지 카탈로그 (공식 이미지들의 본거지)
  • 강력한 이미지 탐색/검색 기능
  • 2026년 기준 AI 모델, MCP 서버, 하드닝 이미지 큐레이션 카탈로그 추가
  • Docker Scout를 통한 취약점 스캔 통합

단점:

  • 무료 플랜은 퍼블릭 이미지 1개 제한 및 pull rate limit 있음
  • 엔터프라이즈에는 비용이 상당히 높아질 수 있음
  • 특정 클라우드와의 네이티브 통합 없음

적합한 팀: 퍼블릭 이미지 배포, Docker 기반 팀, 클라우드 독립적 워크플로

3. AWS ECR (Elastic Container Registry)

AWS 생태계에서 운영하는 팀에게 최적화된 선택입니다. ECS, EKS, Lambda와 IAM 기반으로 매끄럽게 통합됩니다.

장점:

  • IAM을 통한 세밀한 접근 제어 (AWS 리소스와 동일한 권한 모델)
  • 같은 리전 내 EC2/ECS 데이터 전송 무료
  • ECR Public Gallery로 퍼블릭 이미지 무료 배포 가능
  • Amazon Inspector 통한 자동 취약점 스캔
  • 크로스 리전 복제 지원

단점:

  • AWS 외부에서의 사용은 데이터 전송 비용 발생
  • GitHub Actions 등 외부 CI/CD에서 인증 설정이 복잡
  • AWS 생태계에 강한 종속

적합한 팀: AWS 기반 인프라, ECS/EKS 운영 팀

4. Harbor (오픈소스 자체 호스팅)

CNCF(Cloud Native Computing Foundation)의 졸업 프로젝트로, 완전한 제어권을 원하는 팀을 위한 오픈소스 레지스트리입니다.

장점:

  • 완전 무료 (인프라 비용만 발생)
  • RBAC, LDAP/AD 통합, 레플리케이션, 이미지 서명 내장
  • Kubernetes 환경에 최적화된 설치
  • Harbor Satellite로 엣지/IoT 환경까지 확장 가능 (신기능)
  • 규정 준수가 엄격한 환경(온프레미스 필수)에 적합

단점:

  • 인프라 운영 및 유지보수 부담
  • 초기 설정과 관리에 Kubernetes 전문 지식 필요
  • SaaS 레지스트리 대비 글로벌 CDN 기능 없음

적합한 팀: 온프레미스 환경, 규정 준수(금융, 의료, 정부), 대규모 자체 인프라 운영

2026년 레지스트리 선택 매트릭스

상황 추천 레지스트리 이유
GitHub 기반 팀 / OSS 프로젝트 GitHub Packages GITHUB_TOKEN 통합, Actions 연동
AWS 인프라 운영 ECR IAM 통합, 동일 리전 무료 전송
GCP/GKE 운영 Artifact Registry GCP IAM 통합, GKE 네이티브
온프레미스/규정 준수 필수 Harbor 완전 제어, 자체 호스팅
멀티 클라우드 / 퍼블릭 배포 Docker Hub 업계 표준, 최대 카탈로그
스타트업 / 비용 최소화 GitHub Packages + Docker Hub 조합 무료 티어 활용 최대화

GitHub Actions + 레지스트리 보안 베스트 프랙티스

어떤 레지스트리를 사용하든 이미지 보안은 필수입니다:

# 취약점 스캔 포함 CI/CD 파이프라인 (GitHub Actions 예시)
name: Build and Scan

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Build Docker image
        run: docker build -t myapp:${{ github.sha }} .

      # Trivy로 취약점 스캔
      - name: Run Trivy vulnerability scanner
        uses: aquasecurity/trivy-action@master
        with:
          image-ref: myapp:${{ github.sha }}
          format: 'table'
          exit-code: '1'
          severity: 'CRITICAL,HIGH'

      # 스캔 통과 시에만 레지스트리에 push
      - name: Push to registry
        if: success()
        run: |
          docker tag myapp:${{ github.sha }} ghcr.io/myorg/myapp:latest
          docker push ghcr.io/myorg/myapp:latest

결론

2026년 컨테이너 레지스트리 선택에서 "정답"은 없습니다. 팀의 기술 스택, 클라우드 생태계, 보안 요건, 예산이 모두 고려 요소입니다. 단, 대부분의 GitHub 기반 개발팀에게는 GitHub Packages가 최소 저항 경로이고, AWS 헤비 유저라면 ECR이 가장 효율적입니다. 자체 호스팅을 원하거나 규정 준수가 엄격하다면 Harbor가 강력한 오픈소스 대안입니다.


📎 참고 자료

반응형