Files
compose-anything/mcp-servers/dockerhub/README.zh.md
2025-10-23 09:08:07 +08:00

166 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. 用户名和密码认证
```env
DOCKERHUB_USERNAME=your_username
DOCKERHUB_PASSWORD=your_password
```
### 3. 访问令牌认证(推荐)
```env
DOCKERHUB_TOKEN=your_access_token
```
## 快速开始
### 1. 配置环境
创建 `.env` 文件:
#### 无认证模式(仅公开访问)
```env
DOCKERHUB_MCP_VERSION=latest
DOCKERHUB_MCP_PORT_OVERRIDE=8000
TZ=Asia/Shanghai
```
#### 令牌认证模式(推荐)
```env
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](https://hub.docker.com/)
2. 点击头像 → **Account Settings**
3. 导航到 **Security****Access Tokens**
4. 点击 **New Access Token**
5. 设置权限(推荐只读权限)
6. 生成并复制令牌
### 3. 启动服务
```bash
docker compose up -d
```
### 4. 验证服务
```bash
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 小时
- **付费账户**:更高的速率限制
建议使用认证以获得更高的速率限制。
## 参考链接
- [Docker Hub 官方网站](https://hub.docker.com/)
- [Docker Hub API 文档](https://docs.docker.com/docker-hub/api/latest/)
- [MCP 文档](https://modelcontextprotocol.io/)
## 许可证
MIT License