Docker MCP Gateway容器编排:Docker ***pose与Kuber***es部署方案
【免费下载链接】mcp-gateway docker mcp CLI plugin / MCP Gateway 项目地址: https://gitcode.***/GitHub_Trending/mcpgateway/mcp-gateway
Docker MCP Gateway(项目路径)是Docker生态中的容器编排工具,支持通过Docker ***pose和Kuber***es实现MCP服务的灵活部署。本文将从基础配置到高级方案,提供完整的部署指南。
Docker ***pose快速部署
极简配置方案
通过examples/minimal-***pose/***pose.yaml可实现一键启动:
services:
gateway:
image: docker/mcp-gateway
***mand:
- --servers=duckduckgo
volumes:
- /var/run/docker.sock:/var/run/docker.sock
该配置仅需挂载Docker套接字,适合快速验证功能。启动命令:docker ***pose up
自定义目录部署
如需集成私有工具目录,可参考examples/custom-catalog/***pose.yaml:
services:
gateway:
image: docker/mcp-gateway
ports:
- "8811:8811"
***mand:
- --servers=duckduckgo
- --catalog=/mcp/catalog.yaml
- --transport=sse
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./catalog.yaml:/mcp/catalog.yaml
此方案通过--catalog参数指定自定义工具目录,并开放8811端口支持SSE传输协议。
高级部署策略
远程MCP服务器配置
通过examples/remote_mcp/***pose.yaml可连接远程MCP服务:
services:
gateway:
image: docker/mcp-gateway
volumes:
- ./catalog.yaml:/mcp/catalog.yaml
***mand:
- --catalog=/mcp/catalog.yaml
- --servers=gitmcpmoby
- --transport=sse
配置中的--servers=gitmcpmoby参数指定远程服务器,适合多团队协作场景。
命令行参数详解
完整参数列表可参考docs/mcp-gateway.md,常用配置包括:
-
--transport:支持stdio/sse/streaming三种传输模式 -
--secrets:配置密钥查找优先级(如docker-desktop:./.env) -
--watch:开启配置文件热重载 -
--log-calls:记录工具调用日志(默认开启)
启动示例:
# 带详细日志的独立模式
docker mcp gateway run --verbose --log-calls
# 限制服务器资源
docker mcp gateway run --cpus 2 --memory 4Gb
客户端连接配置
Claude Desktop等客户端可通过如下配置连接网关:
{
"mcpServers": {
"MCP_DOCKER": {
"***mand": "docker",
"args": ["mcp", "gateway", "run"]
}
}
}
更多客户端配置示例见docs/mcp-gateway.md。
Kuber***es部署方案
基础部署清单
创建mcp-gateway.yaml部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mcp-gateway
spec:
replicas: 1
selector:
matchLabels:
app: mcp-gateway
template:
metadata:
labels:
app: mcp-gateway
spec:
containers:
- name: gateway
image: docker/mcp-gateway
args: ["--servers=duckduckgo", "--transport=streaming"]
ports:
- containerPort: 8811
volumeMounts:
- name: docker-sock
mountPath: /var/run/docker.sock
volumes:
- name: docker-sock
hostPath:
path: /var/run/docker.sock
---
apiVersion: v1
kind: Service
metadata:
name: mcp-gateway
spec:
ports:
- port: 8811
targetPort: 8811
selector:
app: mcp-gateway
通过kubectl apply -f mcp-gateway.yaml部署,配合Service实现稳定访问。
自定义资源配置
对于生产环境,建议使用ConfigMap管理目录配置:
apiVersion: v1
kind: ConfigMap
metadata:
name: mcp-catalog
data:
catalog.yaml: |
servers:
- name: custom-server
url: https://custom-mcp.example.***
---
# 在Deployment中引用
volumeMounts:
- name: catalog-config
mountPath: /mcp/catalog.yaml
subPath: catalog.yaml
volumes:
- name: catalog-config
configMap:
name: mcp-catalog
监控与排障
日志与监控
启用详细日志:
docker mcp gateway run --verbose --log-calls
结合Prometheus监控可参考docs/telemetry/目录下的配置示例。
常见问题解决
参考docs/troubleshooting.md解决部署问题:
- 权限错误:确保挂载的Docker套接字有正确权限
- 连接失败:检查服务器列表配置和网络连通性
- 性能问题:通过
--cpus和--memory参数调整资源分配
部署方案对比
| 特性 | Docker ***pose | Kuber***es |
|---|---|---|
| 复杂度 | 低 | 中高 |
| 扩缩容 | 手动调整 | 自动扩缩容 |
| 资源控制 | 基础支持 | 精细化控制 |
| 适用场景 | 开发/测试 | 生产环境 |
| 部署工具 | docker-***pose | kubectl/helm |
选择建议:开发环境优先使用Docker ***pose,生产环境推荐Kuber***es方案以获得更好的可扩展性和管理能力。
总结
MCP Gateway提供了从简单到复杂的全场景部署方案,通过examples/目录下的模板可快速实现各类部署需求。无论是开发测试还是大规模生产环境,都能找到合适的配置策略。完整文档请参考README.md和docs/目录。
如需进一步定制,可修改cmd/docker-mcp/main.go扩展网关功能,或通过pkg/gateway/目录下的源码深度定制服务逻辑。
【免费下载链接】mcp-gateway docker mcp CLI plugin / MCP Gateway 项目地址: https://gitcode.***/GitHub_Trending/mcpgateway/mcp-gateway