关于 🐳 docker-mcp
docker-mcp 是一个 MCP 服务,用于通过 Claude 管理 Docker 容器和 Compose 堆栈。它面向希望在对话中操作 Docker 的用户,主要提供容器创建、Compose 部署、日志读取和容器列表等功能。
主要功能
- 01创建独立 Docker 容器
- 02部署 Docker Compose 堆栈
- 03获取指定容器的日志
- 04列出容器及其状态
适用场景
- 01通过对话部署 Compose 堆栈
- 02分析容器日志以排查问题
- 03查看当前运行中的容器状态
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 create-container、deploy-compose、get-logs 和 list-containers 四个工具。README 中的示例配置面向 Claude Desktop。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🐳 docker-mcp
一款功能强大的 Docker 操作模型上下文协议(MCP)服务,可通过 Claude AI 无缝管理容器和 Compose 堆栈。
✨ 功能
- 🚀 创建和实例化容器
- 📦 部署 Docker Compose 堆栈
- 🔍 获取容器日志
- 📊 列出容器并监控状态
🎬 演示
部署 Docker Compose 堆栈
https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278
分析容器日志
https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934
🚀 快速开始
要在 Claude 桌面应用中试用,请将以下内容添加到 Claude 配置文件中:
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
通过 Smithery 安装
要通过 Smithery 自动为 Claude 桌面应用安装 Docker MCP:
npx @smithery/cli install docker-mcp --client claude
前置条件
- UV(包管理器)
- Python 3.12+
- Docker Desktop 或 Docker Engine
- Claude Desktop
安装
Claude Desktop 配置
将服务配置添加到 Claude Desktop 配置文件中:
MacOS:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
💻 开发配置
{
"mcpServers": {
"docker-mcp": {
"command": "uv",
"args": [
"--directory",
"<path-to-docker-mcp>",
"run",
"docker-mcp"
]
}
}
}
🚀 生产配置
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
🛠️ 开发
本地设置
- 克隆代码仓库:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 安装依赖项:
uv sync
🔍 调试
启动 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp
Inspector 将提供一个 URL,用于访问调试界面。
📝 可用工具
该服务提供以下工具:
create-container
创建独立的 Docker 容器
{
"image": "image-name",
"name": "container-name",
"ports": {"80": "80"},
"environment": {"ENV_VAR": "value"}
}
deploy-compose
部署 Docker Compose 堆栈
{
"project_name": "example-stack",
"compose_yaml": "version: '3.8'\nservices:\n service1:\n image: image1:latest\n ports:\n - '8080:80'"
}
get-logs
获取特定容器的日志
{
"container_name": "my-container"
}
list-containers
列出所有 Docker 容器
{}
🚧 当前限制
- 不支持内置的容器环境变量管理
- 不支持卷管理
- 不支持网络管理
- 不支持容器健康检查
- 不支持容器重启策略
- 不支持容器资源限制
🤝 参与贡献
- 从 docker-mcp Fork 代码仓库
- 创建功能分支
- 提交更改
- 推送到分支
- 发起 Pull Request
📜 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
✨ 作者
- Alex Andru - 初始工作 | 核心贡献者 - @QuantGeekDev
- Ali Sadykov - 初始工作 | 核心贡献者 - @md-archive
用 ❤️ 制作
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。