Docker Hub MCP 서버
Docker Hub MCP 서버
Docker Hub API와 상호작용해 LLM에 풍부한 이미지 메타데이터를 제공하는 Docker Hub MCP 서버를 설치·구성하고, 자연어로 이미지 검색·저장소 관리를 수행하는 방법을 알아봐요.
출처: 문서
본문
Docker Hub MCP 서버는 Docker Hub API와 상호작용하는 MCP(Model Context Protocol) 서버로, 풍부한 이미지 메타데이터를 LLM에 접근 가능하게 해 지능적인 콘텐츠 발견과 저장소 관리를 가능하게 해줘요.
MCP 개념과 MCP 서버 작동 방식에 대한 자세한 내용은 Docker MCP Catalog and Toolkit 개요 페이지를 봐요.
핵심 기능(Key features)
- 고급 LLM 컨텍스트: Docker의 MCP 서버는 Docker Hub 이미지에 대한 상세하고 구조화된 컨텍스트를 LLM에 제공해, 베이스 이미지를 선택하든 CI/CD 워크플로를 자동화하든 개발자에게 더 스마트하고 관련성 높은 추천을 가능하게 해줘요.
- 자연어 이미지 발견: 개발자는 태그나 저장소 이름을 기억할 필요 없이 자연어로 올바른 컨테이너 이미지를 찾을 수 있어요. 필요한 것을 설명하기만 하면 Docker Hub가 의도와 일치하는 이미지를 반환해요.
- 간소화된 저장소 관리: Hub MCP 서버는 에이전트가 자연어로 이미지 세부 정보 가져오기, 통계 보기, 콘텐츠 검색, 핵심 작업 수행 등을 빠르고 쉽게 처리해 저장소를 관리할 수 있게 해줘요.
Docker Hub MCP 서버 설치
- Docker Desktop에서 MCP Toolkit을 선택하고 Profiles 탭을 선택한 다음 Create profile을 선택해 새 프로필을 만들거나, 사용할 기존 프로필을 선택해요.
- Catalog 탭을 선택하고 Docker Hub를 검색한 다음 Add to를 선택해 프로필에 추가해요.
- Profiles 탭을 선택하고 Docker Hub를 추가한 프로필을 선택한 다음, Docker Hub MCP 서버의 구성 아이콘을 선택해 Docker Hub 사용자 이름과 개인 액세스 토큰(PAT)을 입력해요.
- 같은 프로필의 Clients 섹션에서 연결된 클라이언트가 이미 있으면 자동으로 연결돼요. 그렇지 않으면 더하기 아이콘을 선택해 클라이언트를 추가해요.
프로필 설정과 클라이언트 연결에 대한 자세한 내용은 Get started with Docker MCP Toolkit을 봐요.
Claude Desktop을 클라이언트로 사용하기
claude_desktop_config.json에 Docker Hub MCP 서버 구성을 추가해요. 공개 저장소 전용:
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
}
}
}
여기서 /FULL/PATH/TO/YOUR/docker-hub-mcp-server는 저장소를 클론한 위치의 완전한 경로예요.
인증 접근용:
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio", "--username=YOUR_DOCKER_HUB_USERNAME"],
"env": {
"HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
}
}
}
}
여기서 YOUR_DOCKER_HUB_USERNAME은 Docker Hub 사용자 이름, YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN은 Docker Hub 개인 액세스 토큰, /FULL/PATH/TO/YOUR/docker-hub-mcp-server는 저장소를 클론한 위치의 완전한 경로예요.
- 구성 파일을 저장하고 변경 사항이 적용되도록 Claude Desktop을 완전히 다시 시작해요.
Visual Studio Code와 함께 사용하기
- User Settings(JSON) 파일에 Docker Hub MCP 서버 구성을 추가해요.
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
}
}
}
인증된 접근용:
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"],
"env": {
"HUB_USERNAME": "YOUR_DOCKER_HUB_USERNAME"
}
}
}
}
여기서 /FULL/PATH/TO/YOUR/docker-hub-mcp-server는 저장소를 클론한 위치의 완전한 경로, YOUR_DOCKER_HUB_USERNAME은 Docker Hub 사용자 이름, YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN은 Docker Hub 개인 액세스 토큰이에요.
- Command Palette를 열고
MCP: List Servers를 입력해요. docker-hub를 선택하고 Start Server를 선택해요.
다른 클라이언트 사용하기
자체 개발 환경에 Docker Hub MCP 서버를 통합하려면 hub-mcp GitHub 저장소에서 소스 코드와 설치 지침을 봐요.
사용 예시(Usage examples)
이미지 풀/푸시
# Pull latest PostgreSQL version
$ docker ai "Pull the latest postgres image"
# Push image to your Docker Hub repository
$ docker ai "Push my <image-name> to my <repository-name> repository"
태그 관리(Tag management)
# List all tags for a repository
$ docker ai "Show me all tags for my '<repository-name>' repository"
# Find the most recently pushed tag
$ docker ai "What's the most recent tag pushed to my '<repository-name>' repository?"
# List tags with architecture filtering
$ docker ai "List tags for in the '<repository-name>' repository that support amd64 architecture"
# Get detailed information about a specific tag
$ docker ai "Show me details about the '<tag-name>' tag in the '<repository-name>' repository"
# Check if a specific tag exists
$ docker ai "Check if version 'v1.2.0' exists for my 'my-web-app' repository"
Docker Hardened Images
# List available hardened images
$ docker ai "What is the most secure image I can use to run a node.js application?"
# Convert Dockerfile to use a hardened image
$ docker ai "Can you help me update my Dockerfile to use a docker hardened image instead of the current one"
[!NOTE] Docker Hardened Images에 접근하려면 구독이 필요해요. Docker Hardened Images 사용에 관심이 있다면 Docker Hardened Images를 방문해요.
참조(Reference)
이 섹션은 Docker Hub MCP 서버에서 찾을 수 있는 도구의 포괄적인 목록을 제공해요.
Docker Hub MCP 서버 도구
Docker 저장소와 상호작용하고 Docker Hub에서 콘텐츠를 발견하기 위한 도구.
| 이름 | 설명 |
|---|---|
check-repository |
저장소 확인 |
check-repository-tag |
저장소 태그 확인 |
check-repository-tags |
저장소 태그들 확인 |
docker-hardened-images |
지정된 네임스페이스에서 사용 가능한 Docker Hardened Images 나열 |
get-namespaces |
사용자의 조직/네임스페이스 가져오기 |
get-repository-dockerfile |
저장소용 Dockerfile 가져오기 |
get-repository-info |
저장소 정보 가져오기 |
list-repositories-by-namespace |
네임스페이스 아래의 저장소 나열 |
list-repository-tags |
저장소 태그 나열 |
read-repository-tag |
저장소 태그 읽기 |
search |
Docker Hub에서 콘텐츠 검색 |
set-repository-dockerfile |
저장소용 Dockerfile 설정 |
update-repository-info |
저장소 정보 업데이트 |