🚢 Docker Hub API 완전 정복 가이드 (최신 버전 기준)
Docker는 현대 DevOps 환경에서 빼놓을 수 없는 컨테이너 기술입니다. 이 중 Docker Hub는 이미지 저장소 역할을 하며, 공식 이미지부터 커스텀 이미지까지 다양한 컨테이너 이미지를 손쉽게 공유하고 배포할 수 있도록 해줍니다.
그리고 이 Docker Hub를 자동화하거나 외부 시스템과 연동하고자 할 때 필요한 것이 바로 Docker Hub API입니다.
본 포스팅에서는 공식 문서를 바탕으로, 최신 Docker Hub API의 구성과 주요 기능을 상세하게 설명드립니다.
🔑 API 인증(Authentication)
Docker Hub API를 사용하려면 먼저 인증 토큰을 받아야 합니다. 인증은 기본적으로 JWT (JSON Web Token)을 사용하며, /v2/users/login/ 엔드포인트에 POST 요청을 보내 로그인합니다.
🔹 요청 예시:
curl -X POST https://hub.docker.com/v2/users/login/ \
-H "Content-Type: application/json" \
-d '{"username": "your_dockerhub_username", "password": "your_password"}'
🔹 응답 예시:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5..."
}
이 토큰을 이용해 이후 요청의 인증 헤더에 Authorization: JWT {token}을 추가하면 됩니다.
📦 주요 엔드포인트 정리
1. 🔍 Repository 검색
- GET /v2/repositories/{username}/
- 사용자의 공개 저장소 목록을 가져올 수 있습니다.
2. 📁 이미지 태그 조회
- GET /v2/repositories/{username}/{repository_name}/tags/
- 특정 저장소에 포함된 이미지 태그들을 조회할 수 있습니다.
예:
curl https://hub.docker.com/v2/repositories/library/nginx/tags/
3. 📝 사용자 정보 확인
- GET /v2/users/{username}/
- 사용자 공개 정보를 가져옵니다.
📑 실전 활용 예시
예제 1: 특정 이미지의 최신 버전 확인하기
curl https://hub.docker.com/v2/repositories/library/redis/tags/latest
이를 활용하면 자동화된 CI/CD 파이프라인에서 항상 최신 버전을 가져오도록 설정할 수 있습니다.
예제 2: 내 저장소 목록 가져오기 (인증 필요)
curl -H "Authorization: JWT {token}" \
https://hub.docker.com/v2/repositories/myusername/
자동화 스크립트에서 내 저장소를 관리하거나 주기적으로 이미지 목록을 수집할 때 활용할 수 있습니다.
🧠 API 사용 시 유의사항
- Rate Limit(요청 제한): 인증 없이 사용할 경우 하루에 허용된 요청 수가 매우 제한적입니다.
- 비공개 저장소 접근은 반드시 인증된 사용자만 가능합니다.
- 정식 API가 아니거나 문서화되지 않은 엔드포인트는 예고 없이 변경될 수 있습니다. 공식 문서에 나온 경로만 사용하는 것이 안전합니다.
- 오픈소스 프로젝트 등에서 사용할 경우, 민감한 정보를 담은 API 토큰은 절대 외부에 노출되지 않도록 .env 파일 등에 따로 저장해야 합니다.
🛠️ 활용 사례
- CI/CD 자동화: Jenkins, GitHub Actions에서 Docker 이미지 빌드/푸시 시 API로 상태 확인
- 보안 스캐닝 자동화: 이미지 버전 리스트를 받아와 보안 취약점을 가진 태그 자동 검출
- Docker Hub 모니터링 툴 제작: 사용자 저장소 및 태그 정보를 대시보드에 시각화
🧩 마치며
Docker Hub API는 단순한 RESTful API처럼 보일 수 있지만, 실제 활용해보면 자동화 작업, 이미지 관리, CI/CD 연동 등 다양한 영역에서 강력한 도구가 됩니다.
특히 DevOps나 인프라 자동화에 관심 있는 개발자라면 꼭 한 번 직접 호출해보고, 팀 프로젝트에 적용해보시기를 권장드립니다.
최신 Docker Hub API 문서 링크: https://docs.docker.com/reference/api/hub/latest/
'Program' 카테고리의 다른 글
Docker 컨테이너 포트 열기(Publishing Ports) 완전 정복 가이드 (1) | 2025.06.05 |
---|---|
Docker Desktop 설치 가이드 (윈도우 & 맥 완전 정복) (3) | 2025.06.05 |
웹사이트 Input 창에서 붙여넣기 막는 방법 (javascript 코드 포함) (3) | 2025.06.05 |
MySQL 성능 튜닝. 접속자 수 증가로 인한 읽기/쓰기 성능 개선 방법. (4) | 2025.06.04 |
Ubuntu에서 계정 추가, 삭제, 관리자 권한(sudo) 설정하는 법 (0) | 2025.06.03 |