Docker Hub 검색(Search)
Docker Hub 검색(Search)
Docker Hub 검색 인터페이스가 제공하는 다양한 필터(제품, 신뢰 콘텐츠, 게시자, 카테고리, 운영체제, 아키텍처 등)를 활용해 수백만 개의 리소스를 탐색하는 방법을 알아봐요.
출처: 문서
본문
Docker Hub 검색 인터페이스는 수백만 개의 리소스를 탐색할 수 있게 해줘요. 필요한 것을 정확히 찾을 수 있도록 결과를 좁히거나 다양한 유형의 콘텐츠를 발견하게 해주는 다양한 필터를 제공해요.
필터(Filters)
검색 기능에는 제품, 카테고리, 신뢰 콘텐츠, 게시자 같은 요구사항에 따라 결과를 좁히는 필터가 포함돼요. 이렇게 하면 프로젝트에 가장 적합한 리소스를 빠르게 찾고 접근할 수 있어요.
제품(Products)
Docker Hub의 콘텐츠 라이브러리는 개발자와 조직의 특정 요구를 충족하도록 설계된 다양한 제품을 제공해요. 이 제품들은 다음을 포함해요.
- 이미지(Images)
- 확장 기능(Extensions)
- 샌드박스 키트(Sandbox kits)
- Helm 차트(Helm charts)
- Compose 파일(Compose files)
- AI 모델(AI models)
- Docker Engine 플러그인(Docker Engine plugins)
이미지(Images)
Docker Hub는 수백만 개의 컨테이너 이미지를 호스팅해 컨테이너화된 애플리케이션과 솔루션의 핵심 저장소 역할을 해요. 이 이미지들은 다음을 포함해요.
- 운영체제 이미지: Ubuntu, Debian, Alpine 같은 Linux 배포판 또는 Windows Server 이미지용 기반 이미지
- 데이터베이스·스토리지 이미지: 애플리케이션 개발을 단순화하도록 사전 구성된 MySQL, PostgreSQL, MongoDB 같은 데이터베이스
- 언어·프레임워크 기반 이미지: 더 빠른 개발을 위한 사전 빌드 환경을 제공하는 Java, Python, Node.js, Ruby, .NET 등 인기 이미지
Docker Hub의 이미지는 사전 빌드된 재사용 가능한 구성 요소를 제공해 처음부터 시작할 필요를 줄여 개발 프로세스를 단순화해요. 첫 컨테이너를 만드는 초보자든 복잡한 아키텍처를 관리하는 기업이든, Docker Hub 이미지는 신뢰할 수 있는 기반을 제공해요.
확장 기능(Extensions)
Docker Hub는 핵심 기능을 향상시키는 Docker Desktop용 확장 기능을 제공해요. 이 확장 기능들은 소프트웨어 개발 수명주기를 간소화하도록 특별히 설계됐어요. 확장 기능은 다음을 위한 도구를 제공해요.
- 시스템 최적화·모니터링: 리소스를 관리하고 Docker Desktop의 성능을 최적화
- 컨테이너 관리: 컨테이너 배포와 모니터링 단순화
- 데이터베이스 관리: 컨테이너 내 효율적인 데이터베이스 운영 촉진
- Kubernetes·클라우드 통합: 로컬 환경을 클라우드 네이티브 및 Kubernetes 워크플로와 연결
- 시각화 도구: 그래픽 표현으로 컨테이너 리소스 사용에 대한 인사이트 제공
확장 기능은 컨텍스트 전환을 줄이고 필수 도구를 Docker Desktop 인터페이스로 가져와 개발자와 팀이 더 효율적이고 통합된 워크플로를 만들 수 있게 해줘요.
확장 기능에 대해 더 알아보려면 Docker Extensions를 봐요.
샌드박스 키트(Sandbox kits)
Docker Hub는 격리된 microVM 샌드박스에서 AI 코딩 에이전트를 실행하는 Docker Sandboxes용 키트를 호스팅해요. 키트는 에이전트가 샌드박스에서 실행하는 데 필요한 이미지, 도구, 자격 증명, 네트워크 규칙, 시작 명령을 패키징해요. v2 형식에서 키트는 두 가지 종류가 있어요.
- 샌드박스(Sandbox): 이미지와 엔트리포인트를 포함해 처음부터 완전한 에이전트를 정의
- 믹스인(Mixin): 기존 에이전트에 도구, 자격 증명, 구성을 레이어링
이 키트에 대해서는 v2 reference를 봐요. 실험적인 v3 형식은 워크로드와 믹스인을 사용하며, 구성을 하나의 키트로 게시하는 sets를 추가해요. v3 모델과 버전 호환성은 Kits overview를 봐요.
Helm 차트(Helm charts)
Docker Hub의 Helm 차트는 Kubernetes 애플리케이션을 패키징·구성·배포하는 간소화된 방법을 제공해요. Helm은 Kubernetes용 패키지 매니저이며, 차트는 Kubernetes 클러스터에서 애플리케이션을 실행하는 데 필요한 리소스를 정의하는 사전 구성된 템플릿이에요. Docker Hub는 다양한 Helm 차트를 호스팅하며 다음을 제공해요.
- 애플리케이션 패키징: Kubernetes 매니페스트, 구성, 의존성을 단일 재사용 가능한 차트로 묶음
- 버전 관리: 애플리케이션 배포의 다른 버전을 추적·관리
- 구성 템플릿: values 파일로 배포를 커스터마이즈해 다른 환경에서 동일한 애플리케이션을 쉽게 배포
- 의존성 관리: 차트 의존성을 자동으로 처리해 모든 필수 구성 요소가 함께 배포되도록 보장
Helm 차트는 Kubernetes 배포의 복잡성을 줄여 팀이 프로덕션 환경에서 애플리케이션을 더 쉽게 배포·업그레이드·관리하게 해줘요.
Compose(컴포즈)
Docker Hub의 Docker Compose 파일은 간단한 YAML 구성 파일로 멀티 컨테이너 애플리케이션 오케스트레이션을 가능하게 해요. Compose는 멀티 컨테이너 Docker 애플리케이션을 정의·실행하는 도구이며, Docker Hub는 다음을 돕는 Compose 파일을 호스팅해요.
- 멀티 컨테이너 오케스트레이션: 단일 명령으로 상호 연결된 여러 컨테이너로 구성된 애플리케이션을 정의·실행
- 서비스 구성: 컨테이너 이미지, 환경 변수, 네트워크, 볼륨, 의존성을 선언적 형식으로 지정
- 개발·테스트: 로컬 개발, 테스트, 데모를 위한 완전한 애플리케이션 스택을 빠르게 가동
- 환경 일관성: 개발, 스테이징, 프로덕션 환경에서 일관된 애플리케이션 동작 보장
Compose 파일은 전체 애플리케이션 스택의 명확하고 버전 관리된 정의를 제공해 복잡한 애플리케이션 관리 프로세스를 단순화해요.
AI 모델(AI models)
Docker Hub는 컨테이너화된 형식으로 AI와 머신러닝 모델을 호스팅해 다양한 환경에서 AI 애플리케이션을 더 쉽게 배포·공유·실행하게 해줘요. 이 컨테이너화된 AI 모델은 다음을 제공해요.
- 사전 훈련된 모델: 이미지 인식, 자연어 처리, 예측 분석 같은 일반적인 작업용 바로 사용 가능한 머신러닝 모델 접근
- 모델 서빙: 애플리케이션에 쉽게 통합되고 필요에 따라 확장할 수 있는 컨테이너화된 서비스로 모델 배포
- 재현 가능한 환경: 의존성과 함께 모델을 패키징해 개발·프로덕션 환경에서 일관된 동작 보장
- 프레임워크 지원: TensorFlow, PyTorch, scikit-learn 같은 인기 프레임워크로 빌드된 모델 발견
컨테이너화된 AI 모델은 인프라 의존성 관리의 필요를 제거하고, 다양한 환경에서 모델을 배포할 수 있게 하며, 애플리케이션 요구가 변함에 따라 확장할 수 있게 해줘요.
플러그인(Plugins)
Docker Hub의 플러그인은 특수 요구사항에 맞게 Docker Engine을 확장·커스터마이즈할 수 있게 해줘요. 플러그인은 Docker Engine과 직접 통합되며 다음 기능을 제공해요.
- 네트워크 플러그인: 복잡한 네트워크 인프라와 통합할 수 있게 네트워킹 기능 강화
- 볼륨 플러그인: 다양한 백엔드에서 영구·분산 스토리지를 지원하는 고급 스토리지 옵션 제공
- 권한 부여 플러그인: Docker 환경을 보호하기 위한 세분화된 접근 제어 제공
Docker 플러그인을 활용하면 팀이 Docker Engine을 특정 운영 요구에 맞게 조정하고, 기존 인프라 및 워크플로와의 호환성을 보장할 수 있어요.
플러그인에 대해 더 알아보려면 Docker Engine managed plugin system을 봐요.
신뢰 콘텐츠(Trusted content)
Docker Hub의 신뢰 콘텐츠는 개발자가 사용하는 리소스의 신뢰성과 보안에 확신을 갖도록 설계된 고품질·안전한 이미지의 큐레이션된 선택을 제공해요. 이 이미지들은 안정적이고 정기적으로 업데이트되며 업계 모범 사례를 따르므로 애플리케이션을 빌드·배포하기 위한 강력한 기반이 돼요. Docker Hub의 신뢰 콘텐츠에는 Docker Hardened Images, Docker Official Images, Verified Publisher 이미지, Docker-Sponsored Open Source Software 이미지가 포함돼요.
자세한 내용은 Trusted content를 봐요.
게시자(Publishers)
Publishers 필터를 사용하면 이미지를 게시한 조직별로 이미지 결과를 좁힐 수 있어요.
신뢰 콘텐츠의 게시자가 먼저 나타나요. 일부 선택된 게시자만 표시돼요.
카테고리(Categories)
Docker Hub는 카테고리로 컨테이너 이미지를 쉽게 찾고 탐색할 수 있게 해줘요. 카테고리는 주 사용 사례를 기준으로 이미지를 그룹화해, 애플리케이션을 빌드·배포·실행하는 데 필요한 도구와 리소스를 빠르게 찾을 수 있게 도와줘요.
카테고리는 다음을 포함해요.
- API management: API를 생성·게시·분석·보안 처리하는 도구
- Content management system: 템플릿, 절차, 표준 형식을 통해 디지털 콘텐츠를 만들고 관리하는 소프트웨어 애플리케이션
- Data science: 데이터를 분석하고 실행 가능한 인사이트를 생성하는 데 지원하는 도구와 소프트웨어
- Developer tools: 개발자가 애플리케이션과 시스템을 만들고, 디버깅하고, 유지보수하고, 지원하는 데 도움을 주는 소프트웨어와 유틸리티
- Databases & storage: 데이터를 저장·검색·관리하는 시스템
- Languages & frameworks: 프로그래밍 언어 런타임과 프레임워크
- Integration & delivery: CI(지속적 통합)와 CD(지속적 전달) 도구
- Internet of things: IoT(사물 인터넷) 애플리케이션을 지원하는 도구
- Machine learning & AI: 데이터 분석, 모델 훈련, 배포를 위한 사전 설치 라이브러리와 프레임워크처럼 인공지능·머신러닝 프로젝트에 최적화된 도구와 프레임워크
- Message queues: 안정적이고 확장 가능하며 효율적인 메시지 처리를 위해 최적화된 메시지 큐 시스템
- Monitoring & Observability: 메트릭, 로그, 트레이스를 통한 소프트웨어·시스템 성능 추적 도구와 시스템 상태 탐색·문제 진단을 위한 관측성
- Networking: 데이터 교환을 지원하고 컴퓨터·기타 기기를 연결해 리소스를 공유하는 저장소
- Operating systems: 컴퓨터의 모든 다른 프로그램을 관리하고 사용자와 컴퓨터 하드웨어 사이의 중간자 역할을 하며 애플리케이션과 시스템 리소스를 감독하는 소프트웨어
- Security: 컴퓨터 시스템이나 네트워크를 도난, 무단 접근, 하드웨어·소프트웨어·전자 데이터 손상 및 서비스 중단으로부터 보호하는 도구
- Web servers: 사용자나 다른 시스템에 웹 페이지, HTML 파일, 기타 자산을 제공하는 소프트웨어
- Web analytics: 웹 데이터와 웹사이트 방문자 참여를 수집·측정·분석·보고하는 도구
운영체제(Operating systems)
Operating systems 필터를 사용하면 특정 호스트 운영체제와 호환되는 컨테이너 이미지로 검색을 좁힐 수 있어요. 이 필터는 Linux 기반 시스템, Windows, 또는 둘 다에서 개발하든 사용하는 이미지가 대상 환경과 일치하도록 보장해요.
- Linux: Linux 환경에 맞춰진 광범위한 이미지에 접근. 이 이미지는 컨테이너에서 Linux 기반 애플리케이션을 빌드·실행하기 위한 기반 환경을 제공
- Windows: Windows 컨테이너 이미지 탐색
[!NOTE]
Operating systems 필터는 이미지에만 사용할 수 있어요. Extensions 또는 Plugins 필터를 선택하면 Operating systems 필터를 사용할 수 없어요.
아키텍처(Architectures)
Architectures 필터를 사용하면 특정 CPU 아키텍처를 지원하도록 빌드된 이미지를 찾을 수 있어요. 이렇게 하면 개발 머신부터 프로덕션 서버까지 하드웨어 환경과의 호환성이 보장돼요.
- ARM: IoT 기기와 임베디드 시스템에서 흔히 사용되는 ARM 프로세서와 호환되는 이미지 선택
- ARM 64: AWS Graviton이나 Apple Silicon 같은 최신 ARM 프로세서용 64비트 ARM 호환 이미지 찾기
- IBM POWER: 기업 워크로드에 성능과 신뢰성을 제공하는 IBM Power Systems에 최적화된 이미지
- PowerPC 64 LE: 리틀엔디언(little-endian) PowerPC 64비트 아키텍처용으로 설계된 이미지
- IBM Z: 엔터프라이즈급 하드웨어와의 호환성을 보장하는 IBM Z 메인프레임용 이미지
- x86: 오래된 시스템이나 경량 환경에 적합한 32비트 x86 아키텍처와 호환되는 이미지 선택
- x86-64: 데스크톱, 서버, 클라우드 인프라에서 널리 사용되는 최신 64비트 x86 시스템용 이미지 필터링
[!NOTE]
Architectures 필터는 이미지에만 사용할 수 있어요. Extensions 또는 Plugins 필터를 선택하면 Architectures 필터를 사용할 수 없어요.
Reviewed by Docker(Reviewed by Docker)
Reviewed by Docker 필터는 확장 기능을 선택할 때 추가 보증 계층을 제공해요. 이 필터는 Docker Desktop 확장 기능이 품질과 신뢰성에 대해 Docker의 검토를 거쳤는지 식별하는 데 도움을 줘요.
- Reviewed: Docker의 검토 프로세스를 거친 확장 기능으로 높은 기준을 충족함
- Not Reviewed: Docker가 검토하지 않은 확장 기능
[!NOTE]
Reviewed by Docker 필터는 확장 기능에만 사용할 수 있어요. 필터를 사용할 수 있게 하려면 Products에서 Extensions 필터만 선택해야 해요.
Sandbox Kit 유형(Sandbox Kit type)
Sandbox Kit type 필터를 사용하면 샌드박스 키트 결과를 종류별로 좁힐 수 있어요.
- Sandbox: 처음부터 완전한 에이전트를 정의하는 키트
- Mixin: 기존 에이전트의 샌드박스에 레이어링되는 키트
[!NOTE]
Sandbox Kit type 필터는 샌드박스 키트에만 사용할 수 있어요. 필터를 사용할 수 있게 하려면 Products에서 Sandbox kits 필터만 선택해야 해요.