Docker MCP Gateway容器编排:Docker Compose与Kubernetes部署方案

Docker MCP Gateway容器编排:Docker Compose与Kubernetes部署方案

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

转载请说明出处内容投诉
CSS教程网 » Docker MCP Gateway容器编排:Docker Compose与Kubernetes部署方案

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买