🐳 Docker Mcp
概览
什么是 Docker MCP?
Docker MCP(模型上下文协议)是一个旨在促进容器化应用程序管理和编排的服务器。它提供了一种标准化的方式来处理模型上下文,使开发人员能够高效地使用 Docker 容器部署、管理和扩展他们的应用程序。Docker MCP 对于希望简化开发流程并改善不同环境之间协作的团队特别有用。
Docker MCP 的特点
- 容器管理:Docker MCP 简化了容器的管理,使用户能够轻松部署、更新和扩展应用程序。
- 标准化协议:它利用标准化的模型上下文协议,确保与各种工具和服务的兼容性和易集成性。
- 可扩展性:Docker MCP 的架构允许应用程序无缝扩展,能够应对增加的负载而不影响性能。
- 用户友好的界面:Docker MCP 提供了直观的界面,使开发人员能够轻松与他们的容器化应用程序互动。
- 开源:作为一个开源项目,Docker MCP 鼓励社区贡献和合作,促进创新和持续改进。
如何使用 Docker MCP
- 安装:首先在你的机器上安装 Docker。请按照官方 Docker 文档中的安装说明进行操作。
- 克隆仓库:使用 Git 从 GitHub 克隆 Docker MCP 仓库:
git clone https://github.com/QuantGeekDev/docker-mcp.git
- 配置:导航到克隆的目录,并根据项目需求在配置文件中配置必要的设置。
- 运行服务器:使用 Docker 命令启动 Docker MCP 服务器。确保满足所有依赖项并正确设置环境。
- 部署应用程序:使用 Docker MCP 界面部署你的应用程序,管理容器并监控性能。
- 扩展:随着应用程序的增长,利用 Docker MCP 的扩展功能来处理增加的流量和资源需求。
常见问题解答
Q1: Docker MCP 的系统要求是什么?
A1: Docker MCP 需要安装了 Docker 的机器。建议至少有 4GB 的内存和多核处理器以获得最佳性能。
Q2: Docker MCP 适合生产环境吗?
A2: 是的,Docker MCP 设计得稳健且可扩展,适合生产环境。然而,建议在部署前进行彻底测试。
Q3: 我可以为 Docker MCP 贡献吗?
A3: 当然可以!Docker MCP 是一个开源项目,欢迎贡献。你可以在 GitHub 仓库中提交问题、功能请求或拉取请求。
Q4: Docker MCP 与其他容器编排工具相比如何?
A4: Docker MCP 专注于模型上下文管理,并提供用户友好的界面,使开发人员比某些更复杂的编排工具更容易管理他们的应用程序。
Q5: 我在哪里可以找到 Docker MCP 的文档?
A5: Docker MCP 的文档可以在仓库的 README 文件中找到,以及仓库中链接的其他资源。
详情
🐳 docker-mcp
A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.
✨ Features
- 🚀 Container creation and instantiation
- 📦 Docker Compose stack deployment
- 🔍 Container logs retrieval
- 📊 Container listing and status monitoring
🎬 Demos
Deploying a Docker Compose Stack
https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278
Analyzing Container Logs
https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934
🚀 Quickstart
To try this in Claude Desktop app, add this to your claude config files:
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
Installing via Smithery
To install Docker MCP for Claude Desktop automatically via Smithery:
npx @smithery/cli install docker-mcp --client claude
Prerequisites
- UV (package manager)
- Python 3.12+
- Docker Desktop or Docker Engine
- Claude Desktop
Installation
Claude Desktop Configuration
Add the server configuration to your Claude Desktop config file:
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"
]
}
}
}
</details>
<details>
<summary>🚀 Production Configuration</summary>
{
"mcpServers": {
"docker-mcp": {
"command": "uvx",
"args": [
"docker-mcp"
]
}
}
}
</details>
🛠️ Development
Local Setup
- Clone the repository:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
uv sync
🔍 Debugging
Launch the MCP Inspector for debugging:
npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp
The Inspector will provide a URL to access the debugging interface.
📝 Available Tools
The server provides the following tools:
create-container
Creates a standalone Docker container
{
"image": "image-name",
"name": "container-name",
"ports": {"80": "80"},
"environment": {"ENV_VAR": "value"}
}
deploy-compose
Deploys a Docker Compose stack
{
"project_name": "example-stack",
"compose_yaml": "version: '3.8'\nservices:\n service1:\n image: image1:latest\n ports:\n - '8080:80'"
}
get-logs
Retrieves logs from a specific container
{
"container_name": "my-container"
}
list-containers
Lists all Docker containers
{}
🚧 Current Limitations
- No built-in environment variable support for containers
- No volume management
- No network management
- No container health checks
- No container restart policies
- No container resource limits
🤝 Contributing
- Fork the repository from docker-mcp
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
✨ Authors
- Alex Andru - Initial work | Core contributor - @QuantGeekDev
- Ali Sadykov - Initial work | Core contributor - @md-archive
Made with ❤️
Server配置
{
"mcpServers": {
"docker-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--quantgeekdev--docker-mcp--docker-mcp",
"docker-mcp"
],
"env": {}
}
}
}