Container Registry란 무엇인가요?

2024년 7월 31일

작성자

Phill Powell

Staff Writer

Ian Smalley

Senior Editorial Strategist

Container Registry란 무엇인가요?

컨테이너 레지스트리는 스토리지 및 액세스를 위해 컨테이너 이미지를 보관하는 데이터 저장소(또는 여러 저장소)입니다. 컨테이너 이미지는 실행 코드를 포함하고 IT 인프라에서 격리되어 실행되는 변경되지 않는 정적 파일입니다.

Container Registry의 주요 장점은 컨테이너 오케스트레이션 시스템이나 Kubernetes 및 Docker와 같은 플랫폼에 쉽게 연결할 수 있다는 점입니다.

컨테이너 기반 애플리케이션 개발 중에는 팀이 Container Registry를 DevOps 역량으로도 사용할 수 있어, 지속적 통합(CI) 워크플로 및 지속적 제공(CD) 워크플로와의 최적화된 통합이 가능합니다. 두 워크플로 모두 소프트웨어 개발의 핵심 활동입니다. CI와 CD는 모두 자동화 기반이며 잦은 코드 변경을 수용할 수 있도록 구축되었습니다. CI는 최종 릴리스를 위해 코드를 준비하는 반면 CD는 코드의 실제 릴리스와 관련이 있다는 점에서 다릅니다. Container Registry는 두 워크플로를 모두 지원합니다.

Container Registry에는 두 가지 유형이 있습니다.

  • 공용 레지스트리는 데이터 전송과 완화된 액세스 제어를 최적화하는 방법을 제공하지만 고급 보안 프로토콜이 부족합니다.
  • 비공개 리포지토리는 일반적으로 보다 안전한 운영과 워크로드에 대한 엄격한 보호가 필요한 상황에서 사용됩니다.
고속도로 조감도

클라우드에 집중 


AI 시대의 멀티클라우드 설정을 최적화하는 방법에 대한 전문가의 안내가 담긴 주간 Think 뉴스레터를 받아보세요.

Container Registry는 어떻게 작동하나요?

Container Registry는 컨테이너 이미지를 저장하여 사용자가 이미지를 레지스트리에 업로드("푸시")하거나 다른 시스템으로 다운로드("풀링")할 수 있도록 합니다.

Container Registry는 단독으로 사용할 수도 있고 다른 Container Registry와 함께 사용할 수도 있습니다. 여러 개의 컨테이너가 클라우드 서비스 제공을 위한 하나의 운영 단위로 결합될 경우, 이 기능은 공동의 아웃풋을 전달하기 위해 서로 긴밀히 협력하는 에코시스템의 구성원들을 모방하는 방식으로 작동합니다.

오브젝트 스토리지

컨테이너 레지스트리는 개체 스토리지를 사용하여 컨테이너 이미지에 대한 메타데이터를 매니페스트합니다. 이는 이러한 메타데이터를 성공적으로 전송할 수 있는 수단을 제공하지만 특성상 제한적인데, 예를 들어 여러 이미지가 포함될 수 있는 데이터의 경우 사용 가능한 리스팅 태그의 수에 제한이 있습니다.

종속성 컨테이너

종속성 컨테이너는 또 다른 스토리지 방법입니다. 이를 통해 애플리케이션에서 종속성을 관리, 등록, 해결할 수 있습니다. 프로그래밍 맥락에서 종속성은 하나의 객체나 프로세스가 정상적으로 작동하기 위해 다른 객체나 프로세스가 먼저 발생해야 하는 상황을 설명합니다.

이러한 종속성은 종속성 컨테이너에 의해 관리되며, 이는 테스트를 단순화하고, 확장성을 향상하고, 오류 및 버전 제어 문제로 이어질 수 있는 코드 결합(프로그래밍되는 개체 간의 지나치게 강한 상호 의존성)의 필요성을 최소화하는 데 도움이 됩니다.

인증

온라인 보안이 시급하고 지속적으로 필요한 상황에서 리포지토리에 대한 액세스 권한이 부여된 개인에 대한 인증은 매우 중요합니다. 이는 해당 Container Registry와 관련된 일련의 권한에 따라 달라집니다. 권한은 해당 Container Registry의 컴퓨터 리소스를 사용할 권한이 있는 사용자를 정의합니다.

컨테이너 런타임

런타임의 개념은 매우 중요합니다. 컨테이너 런타임은 컨테이너가 호스트 시스템 내에서 작동할 수 있게 해주는 소프트웨어입니다. 런타임은 일련의 단계를 사용하여 컨테이너를 생성합니다. 이 단계들은 애플리케이션과 그 종속성이 포함된 컨테이너 이미지의 지침에 따라 컨테이너를 생성하고 해당 환경을 초기화하는 전체 과정을 포함합니다.

컨테이너가 구성된 후에도 런타임은 컨테이너 수명 주기를 관리하고, 지속적인 실행 가능성을 추적하고, 더 이상 필요하지 않을 때 리소스를 제거하는 등 적극적으로 참여합니다.

로드 밸런싱

Container Registry는 로드 밸런싱도 지원합니다. 컨테이너 네이티브 로드 밸런싱에서 밸런서 트래픽은 해당 트래픽을 수신할 영역으로 직접 라우팅됩니다. 이러한 방식으로 Container Registry는 로드 밸런서와 함께 작동하므로 트래픽을 추가 네트워크 루프를 통해 라우팅할 필요가 없습니다.

AI 아카데미

하이브리드 클라우드로 AI 지원 실현하기

IBM 사고 리더들이 이끄는 이 커리큘럼은 비즈니스 리더들에게 성장을 촉진하는 AI 투자의 우선순위를 정하는 데 필요한 지식을 제공합니다.

Container Registry의 이점

Container Registry는 다음과 같은 다양한 이점을 제공합니다.

운영 명확성

컨테이너 레지스트리는 장기 스토리지를 위해 이미지를 보관할 수 있는 전용 공간을 확보하여 운영의 명확성을 높입니다. 프로덕션 아티스트와 소프트웨어 개발자는 종종 자산이 과도하게 쌓이는 데 어려움을 겪습니다. 컨테이너 레지스트리는 자산을 단일 위치로 제한하여 이 문제를 완화합니다.

성능 간소화

Container Registry는 이미지의 정확한 위치를 알 수 없는 경우, 특히 우선순위가 높은 시간대에 발생할 수 있는 성능 지연을 방지하는 데 도움이 됩니다. 컨테이너 레지스트리는 언제든지 확인하고 확인할 수 있는 재고를 제공하여 이 문제를 해결합니다.

신뢰할 수 있는 단일 소스

레지스트리는 모든 구성 요소 또는 애플리케이션에 대한 신뢰할 수 있는 단일 소스를 생성하므로 해당 구성 요소 또는 앱의 구성에 대한 투명성이 항상 보장됩니다. Container Registry를 사용하면 최적의 버전 관리를 위해 가장 최근의 반복을 사용하거나 복제할 수 있습니다.

향상된 보안

Container Registry는 이미지에 대한 향상된 보안 조치를 제공합니다. 액세스 프로토콜은 보안 관점에서 이미지를 보호하는 데 도움이 됩니다. 한편, 취약점 스캔을 통해 사용자는 이미지를 자세히 보고 그 안에 숨겨진 문제를 발견할 수 있습니다.

Container Registry 사용 사례

다음 활동은 Container Registry를 광범위하게 활용합니다.

소프트웨어 개발

소프트웨어 개발은 Container Registry의 주된 사용 사례이며, 처음부터 소프트웨어 개발자에게 이미지를 저장하고, 액세스하고, 공유하기 위한 작업 공간을 제공함으로써 소프트웨어 개발자를 지원하기 위해 만들어졌습니다.

엔터프라이즈 소프트웨어 제공

비공개 Container Registry는 일반적으로 내부적으로 소프트웨어 앱을 설계하고 제공하는 조직에 필요한 인프라로 간주됩니다. 비공개 레지스트리는 사용자에게 소프트웨어 공급망을 더 높은 수준으로 제어할 수 있는 권한을 부여합니다.

마이크로서비스

많은 Container Registry는 컨테이너 클러스터에서 특정 마이크로서비스를 찾아 연결하는 과정을 명확히 하여 마이크로서비스 사용자를 지원합니다. 이러한 레지스트리는 이미지 이름과 가상 IP를 제공하는 도메인 이름 시스템 서비스를 제공합니다.

애플리케이션 배포

Container Registry는 모듈식 경량 레지스트리의 특성으로 인해 앱의 빠른 반복을 촉진하는 데 도움이 됩니다. 배포의 또 다른 이점은 레지스트리의 이식성과 일관성입니다.

과학적 연구

Container Registry는 유전학 데이터 지원 및 게놈 연구 강화와 같은 특수한 과학적 목적에 맞게 맞춤화되고 있습니다. 연구 결과를 다른 형식으로 쉽게 재현할 수 있으므로 주요 코드와 아티팩트를 공유할 수 있습니다.

Docker 및 Kubernetes

Container Registry 사용을 지배하는 두 가지 주요 컨테이너 오케스트레이션 공급자가 있습니다.

Docker

Docker는 앱 생성, 배포 및 실행의 복잡성을 줄이기 위해 2013년에 개발 및 도입된 컨테이너 오케스트레이션 시스템입니다. Docker는 인프라에 관계없이 모든 플랫폼에서 실행할 수 있는 가볍고 휴대 가능하며 독립적인 컨테이너를 쉽게 구축할 수 있는 방법으로 최근 인기를 얻고 있습니다. 그 사용 용이성에 대한 평판 덕분에 Docker는 인공 지능(AI)머신 러닝(ML)에 특화된 애플리케이션을 배포하는 이들에게 널리 사용되는 선택지가 되었습니다.

마찬가지로, Docker 컨테이너는 뛰어난 이식성을 제공하여 인프라에 상관없이 한 장치에서 다른 장치로 자유롭게 이동할 수 있습니다. 다시 말해, Docker를 사용하면 AI 및 ML 애플리케이션을 로컬 머신, 엣지 장치 또는 클라우드 서버와 같은 다양한 환경에 비교적 간단하게 도입할 수 있다는 이점이 있습니다.

Kubernetes

Kubernetes는 컨테이너 오케스트레이션을 위한 오픈 소스 플랫폼입니다. 2013년에 시작되었으며 “파일럿"을 뜻하는 그리스어에서 이름을 딴 Kubernetes는 소프트웨어의 관리, 배포, 확장과 같은 다양한 프로세스를 자동화하는 데 사용됩니다.

Kubernetes Service에서는 하나 이상의 컴퓨터(가상 머신 또는 Bare Metal Server)가 다양한 크기와 유형의 컨테이너 워크로드를 실행할 수 있는 클러스터에 연결됩니다. Kubernetes는 종종 Helm 차트와 함께 배포되며, Helm 차트는 Kubernetes 클러스터의 다양한 리소스를 설명하고 이들을 하나의 애플리케이션으로 패키징하는 파일 모음입니다.

Kubernetes는 컨테이너화된 ML 앱의 사용과 간단한 확장을 가능하게 하며, ML 프레임워크와 툴을 지원합니다. Kubernetes는 AI 학습 워크로드를 위한 플랫폼으로도 사용할 수 있습니다.

Docker와 Kubernetes는 여러 면에서 유사합니다. 그러나 Docker는 본질적으로 런타임인 반면, Kubernetes는 여러 런타임에서 컨테이너를 실행하고 관리할 수 있도록 설계된 완전한 플랫폼이기 때문에 각각의 규모는 다릅니다. 두 가지의 차이점을 나타내는 지표로, Kubernetes의 규모가 너무 커서 Docker는 Kubernetes가 지원하는 여러 컨테이너 런타임 중 하나일 뿐이라는 점을 고려하세요.

다른 주요 컨테이너 레지스트리 공급업체

컨테이너 레지스트리 공급업체 시장은 항상 진화하고 있으며, 플레이어는 언제든지 시장에 진입하고 퇴출되지만, 그럼에도 불구하고 여기에 나열된 공급업체는 이 시장에서 지속적인 명성을 쌓았습니다.

  • Alibaba: Alibaba 그룹은 "어디서나 더 쉽게 비즈니스를 할 수 있게 한다"는 목표를 추구합니다. Alibaba Cloud Container Registry를 사용하면 동일한 계정에 속한 인스턴스(운영 주체) 간에 이미지를 복제할 수 있습니다. Alibaba Cloud Container Registry는 각 이미지의 수명 주기 동안 이미지를 관리하도록 설계되었습니다.
  • Amazon: Amazon Web Services(AWS)는 Amazon Inspector를 사용하여 이미지의 취약성 스캐닝을 관리하는 Amazon Elastic Container Registry(ECR)를 운영합니다. 또한 ECR은 교차 계정 및 교차 리전 복제를 가능하게 하여 이미지에 더 쉽게 액세스할 수 있습니다.
  • DockerHub: Docker는 DockerHub라는 자체 이미지 리소스를 운영하며, 이를 통해 Docker 사용자, 소프트웨어 공급업체 및 오픈 소스 프로젝트가 공유하는 100,000개 이상의 이미지에 무료로 액세스할 수 있습니다. 비공개로 사용할 수 있는 유료 Docker 컨테이너 레지스트리 서비스도 제공됩니다. DockerHub는 로그인, 푸시 및 풀과 같은 주요 작업을 가능하게 하는 Docker 명령줄 인터페이스(Docker CLI)를 사용합니다.
  • GitHub: 현재 Microsoft가 소유하고 있는 GitHub는 2007년에 시작되었습니다. 이 플랫폼은 코드 공유, 협업 및 코드 관리를 촉진하는 기능을 높이 평가하는 개발자들로부터 폭넓은 지지를 받았습니다. (종종 오픈소스 소프트웨어로 오해받지만, GitHub은 실제로는 독점 소프트웨어입니다.)
  • GitLab: GitHub와 혼동되는 경우가 많은 GitLab은 2014년에 설립되었습니다. GitLab Container Registry는 컨테이너 이미지를 위한 안전한 비공개 레지스트리입니다. 이미지를 제작하고 게시하는 데 모두 사용할 수 있습니다. Gitlab Container Registry는 오픈 소스 소프트웨어와 함께 작동합니다. 최신 버전(현재 베타 버전)에서는 정렬 및 필터링 기능이 향상되었습니다.
  • Google: Google Cloud의 Container Registry, 'Artifact Registry'는 Google Cloud의 툴링과 런타임과 통합되며 자동화된 파이프라인 사용을 지원합니다. Google은 또한 Kubernetes의 창시자이기도 하며, 현재 이 프로젝트는 기여자들의 노력으로 관리되고 있으며 상표는 Cloud Native Computing Foundation에서 보유하고 있습니다. 이제 퍼블릭 클라우드 제공자는 각각 관리형 서비스로서 자체 버전의 Kubernetes를 제공합니다.
  • IBM: IBM Cloud® Container Registry를 통해 사용자는 자신의 레지스트리를 쉽게 시작하고 IBM Cloud Kubernetes Service와 함께 사용할 프라이빗 이미지를 레지스트리에 푸시할 수 있습니다. 사용자는 완전 관리형 자체 레지스트리를 보유하여 개인 정보 보호 혜택을 누릴 수 있습니다. 비용 없이 테스트 기반이 될 수 있는 이 서비스는 종량제 가격을 특징으로 하므로 사용자는 소비한 만큼만 비용을 지불하면 됩니다.
  • Microsoft: Microsoft의 Azure 플랫폼에는 Docker 이미지와 OCI(오픈 컨테이너 이니셔티브) 이미지가 포함되어 있고 OCI 아티팩트 및 Helm 차트를 지원하는 Container Registry가 포함되어 있습니다. ACR의 연결된 레지스트리 기능(프로그램의 프리미엄 서비스 계층의 일부)은 컨테이너 이미지 및 OCI 아티팩트를 클라우드 기반 ACR과 동기화하는 온프레미스 또는 원격 복제본을 생성합니다. ACR은 Windows 및 Linux 이미지를 모두 수용할 수 있습니다. 컴퓨터 프로그램과 상호 작용하는 한 가지 방법은 명령줄이라고 하는 텍스트 줄을 작성하고 입력하는 것이며, 운영 체제에서 이 상호 작용 방법을 사용하는 경우 명령줄 인터페이스(CLI)를 통합하는 것이라고 합니다. 현재 대부분의 컴퓨터 사용자는 그래픽 사용자 인터페이스(GUI)에 의존하고 있지만, 일부, 특히 스크립트를 작성하여 프로그램을 자동화하려는 사람들은 여전히 CLI 사용을 선호합니다. Azure는 사용자에게 로그인, 푸시 및 풀과 같은 주요 컨테이너 이미지 작업을 실행하기 위해 널리 사용되는 Docker CLI를 유연하게 사용할 수 있는 기능을 제공합니다.
  • Red Hat: Red Hat은 1993년 창립 이래로 Linux 기반 프로그래밍을 장려해 왔습니다. OpenShift Container Platform(OCP)을 통해 사용자는 필요에 따라 이미지 저장소에 자동으로 액세스할 수 있으며 애플리케이션 빌드에서 생성된 이미지를 푸시할 수 있는 표준 위치를 제공합니다.
관련 솔루션
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud는 풀 매니지드 OpenShift 컨테이너 플랫폼(OCP)입니다.

Red Hat OpenShift 살펴보기
컨테이너 솔루션

컨테이너 솔루션은 보안, 오픈 소스 혁신, 신속한 배포를 통해 컨테이너화된 워크로드를 실행하고 확장합니다.

컨테이너 살펴보기
클라우드 컨설팅 서비스 

IBM Cloud 컨설팅 서비스를 통해 새로운 역량을 개발하고 비즈니스 민첩성을 향상하세요. 하이브리드 클라우드 전략 및 전문가 파트너십을 통해 솔루션을 공동으로 개발하고, 디지털 혁신을 가속화하고, 성능을 최적화하는 방법을 알아보세요.

클라우드 서비스
다음 단계 안내

IBM의 컨테이너 솔루션으로 인프라를 현대화하세요. IBM의 포괄적인 컨테이너 플랫폼을 사용하여 유연성, 보안 및 효율성을 갖춘 환경 전반에서 컨테이너화된 워크로드를 실행, 확장 및 관리할 수 있습니다.

컨테이너 솔루션 살펴보기 무료 IBM Cloud 계정 만들기