Files
2025-10-23 09:08:07 +08:00

4.0 KiB
Raw Permalink Blame History

Docker Hub MCP Server

Docker Hub MCP Server 提供通过模型上下文协议MCP与 Docker Hub 集成的能力,实现镜像搜索、查询和管理功能。

功能特性

  • 🔍 镜像搜索 - 在 Docker Hub 上搜索镜像
  • 📊 镜像信息 - 获取详细的镜像信息
  • 🏷️ 标签管理 - 查看镜像标签
  • 📈 统计信息 - 查看下载量和星标数
  • 👤 用户管理 - 管理 Docker Hub 账户
  • 📝 仓库信息 - 仓库信息查询

环境变量

变量 默认值 说明
DOCKERHUB_MCP_VERSION latest Docker 镜像版本
DOCKERHUB_MCP_PORT_OVERRIDE 8000 服务端口
DOCKERHUB_USERNAME - Docker Hub 用户名(可选,用于认证)
DOCKERHUB_PASSWORD - Docker Hub 密码(可选,用于认证)
DOCKERHUB_TOKEN - Docker Hub 访问令牌(推荐用于认证)
TZ UTC 时区

认证方式

该服务支持三种认证方式:

1. 无认证(公开访问)

仅能访问公开镜像和信息。

2. 用户名和密码认证

DOCKERHUB_USERNAME=your_username
DOCKERHUB_PASSWORD=your_password

3. 访问令牌认证(推荐)

DOCKERHUB_TOKEN=your_access_token

快速开始

1. 配置环境

创建 .env 文件:

无认证模式(仅公开访问)

DOCKERHUB_MCP_VERSION=latest
DOCKERHUB_MCP_PORT_OVERRIDE=8000
TZ=Asia/Shanghai

令牌认证模式(推荐)

DOCKERHUB_MCP_VERSION=latest
DOCKERHUB_MCP_PORT_OVERRIDE=8000
DOCKERHUB_TOKEN=dckr_pat_your_token_here
TZ=Asia/Shanghai

2. 获取 Docker Hub 访问令牌

  1. 登录 Docker Hub
  2. 点击头像 → Account Settings
  3. 导航到 SecurityAccess Tokens
  4. 点击 New Access Token
  5. 设置权限(推荐只读权限)
  6. 生成并复制令牌

3. 启动服务

docker compose up -d

4. 验证服务

curl http://localhost:8000/health

资源需求

  • 最小内存128MB
  • 推荐内存512MB
  • CPU0.25-1.0 核心

常见使用场景

  1. 镜像搜索 - 搜索适合项目的 Docker 镜像
  2. 版本查询 - 查看镜像的所有可用标签
  3. 依赖分析 - 分析镜像的基础镜像和依赖
  4. 安全检查 - 查看镜像的安全扫描报告
  5. 下载统计 - 查看镜像的受欢迎程度

API 功能

该 MCP 服务器提供以下主要功能:

  • 搜索公开和私有镜像
  • 获取镜像标签列表
  • 查看镜像详细信息
  • 查询仓库统计信息
  • 检查镜像更新
  • 查看 Dockerfiles

权限类型

只读令牌权限

推荐用于大多数查询操作:

  • 搜索镜像
  • 查看镜像信息
  • 获取标签列表
  • 推送镜像
  • 删除镜像

读写令牌权限

用于管理操作:

  • 所有只读操作
  • 推送镜像
  • 删除镜像
  • 更新仓库设置

安全建议

⚠️ 重要

  1. 优先使用访问令牌:比密码更安全
  2. 最小权限原则:只授予必要的权限
  3. 定期轮换:定期更新访问令牌
  4. 保护环境变量:不要将 .env 提交到版本控制
  5. 监控访问:定期检查令牌使用情况
  6. 使用只读令牌:除非需要写权限

速率限制

Docker Hub 有 API 速率限制:

  • 未认证100 次请求 / 6 小时
  • 免费账户200 次请求 / 6 小时
  • 付费账户:更高的速率限制

建议使用认证以获得更高的速率限制。

参考链接

许可证

MIT License