PORTFOLIO/TECHNICAL DECISION-MAKING

[CodeChef - 기술적 의사 결정] Docker Hub? AWS ECR?

jki09871 2025. 1. 6. 15:39

문제 상황

프로젝트에서 Docker 이미지를 효율적으로 저장하고 배포할 레지스트리가 필요했습니다. 이를 통해 배포 프로세스를 표준화하고 관리 편의성을 확보하고자 했습니다. 레지스트리를 선택하는 과정에서, AWS ECR과 Docker Hub 중 어떤 것을 사용할지를 검토하게 되었습니다.

도입 이유 및 해결 방안

선택지

  1. Docker Hub: Docker의 기본 이미지 저장소로, 다양한 환경에서 접근이 가능하고 설정이 간단합니다.
  2. AWS ECR: AWS 전용의 Docker 이미지 레지스트리로, AWS 서비스와 긴밀히 통합된 보안 및 관리 기능을 제공합니다.

Docker Hub를 선택한 이유

Docker Hub를 이미지 레지스트리로 선택한 이유는 다음과 같습니다:

  • 사용성과 접근성: Docker Hub는 Docker 커뮤니티의 기본 레지스트리로 널리 사용되며, 전 세계 개발자들이 공용 이미지에 쉽게 접근하고 공유할 수 있어 접근성이 뛰어납니다. 퍼블릭 이미지를 배포할 때도 간편한 방식으로 공개할 수 있습니다.
  • 간편한 설정: Docker Hub는 GitHub Actions 등 CI/CD 파이프라인과 쉽게 연동되며, 간단한 인증 절차로 설정할 수 있습니다. 반면, AWS ECR을 이용하려면 AWS IAM 역할 및 권한 설정 등의 추가 작업이 필요하여 상대적으로 설정이 복잡할 수 있습니다.
  • 공개 이미지 관리의 편리성: 오픈 소스 프로젝트나 외부와의 협업을 위한 Docker 이미지 배포 시 Docker Hub가 더 유리합니다. Docker Hub는 퍼블릭 레지스트리를 통해 이미지를 쉽게 공유할 수 있는 반면, AWS ECR은 기본적으로 프라이빗 레지스트리를 위해 설계되었습니다.
  • 환경 독립성: Docker Hub는 특정 클라우드 제공자에 종속되지 않으며, 다양한 클라우드 환경과 온프레미스 환경에서도 쉽게 접근하고 사용할 수 있습니다. 반면 AWS ECR은 AWS 서비스와 통합이 용이하지만, AWS 외의 환경에서는 접근성이 제한적일 수 있습니다.

이러한 이유로, Docker Hub를 이미지 레지스트리로 선택하여 손쉬운 접근과 다양한 환경에서의 사용 편의성을 확보했습니다.