本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
MCP Gateway for Agents 是 MCP(管理控制平面,Management and Control Plane)的核心组件,作为代理节点(Agents)与控制平面之间的通信枢纽,负责桥接代理节点与后端控制平面的数据流、协议转换及安全管控。其核心定位是解决大规模分布式环境下代理节点的统一接入、数据路由与通信安全问题。
docker run -d \ --name mcp-gateway \ --restart always \ -p 8080:8080/tcp \ # HTTP/gRPC 协议端口 -p 1883:1883/tcp \ # MQTT 协议端口(可选) -e LISTEN_HTTP_PORT=8080 \ -e LISTEN_MQTT_PORT=1883 \ -e AUTH_MODE=jwt \ -e JWT_SECRET=your_jwt_secret_key \ -e CONTROL_PLANE_ENDPOINTS="[***]" \ -e LOG_LEVEL=info \ -v /host/path/logs:/app/logs \ # 挂载日志目录 mcp-gateway:latest
version: '3.8' services: mcp-gateway: image: mcp-gateway:latest container_name: mcp-gateway restart: always ports: - "8080:8080" # HTTP/gRPC 端口 - "1883:1883" # MQTT 端口 - "9090:9090" # 监控指标端口 environment: - LISTEN_HTTP_PORT=8080 - LISTEN_MQTT_PORT=1883 - LISTEN_METRICS_PORT=9090 - AUTH_MODE=cert - CERT_PATH=/etc/gateway/certs - CONTROL_PLANE_ENDPOINTS="[***]" - LOG_LEVEL=info - MAX_CONCURRENT_CONNECTIONS=10000 - CONNECTION_IDLE_TIMEOUT=300s volumes: - ./certs:/etc/gateway/certs:ro # 挂载认证证书(只读) - ./logs:/app/logs # 挂载日志目录 - ./config.yaml:/app/config.yaml:ro # 挂载自定义配置文件(可选) networks: - mcp-network networks: mcp-network: driver: bridge
| 环境变量名 | 描述 | 默认值 | 取值范围 |
|---|---|---|---|
LISTEN_HTTP_PORT | HTTP/gRPC 协议监听端口 | 8080 | 1-65535 |
LISTEN_MQTT_PORT | MQTT 协议监听端口(0 表示禁用) | 1883 | 0, 1-65535 |
LISTEN_METRICS_PORT | 监控指标(Prometheus)端口 | 9090 | 1-65535 |
AUTH_MODE | 认证模式 | "none" | "none", "jwt", "api_key", "cert" |
JWT_SECRET | JWT 认证密钥(AUTH_MODE=jwt 时必填) | - | 字符串(建议长度 ≥ 32) |
API_KEY | API Key 认证密钥(AUTH_MODE=api_key 时必填) | - | 字符串(建议长度 ≥ 16) |
CERT_PATH | TLS 证书目录(AUTH_MODE=cert 时必填) | "/etc/gateway/certs" | 容器内绝对路径 |
CONTROL_PLANE_ENDPOINTS | 后端控制平面服务地址(逗号分隔) | - | 格式:scheme://host:port |
LOG_LEVEL | 日志级别 | "info" | "debug", "info", "warn", "error" |
MAX_CONCURRENT_CONNECTIONS | 最大并发连接数 | 10000 | 1000-100000 |
CONNECTION_IDLE_TIMEOUT | 连接空闲超时时间 | "300s" | 格式:数字+s/m/h(如 "60s") |
若需更复杂配置(如路由规则、高级认证策略),可通过挂载配置文件(默认路径 /app/config.yaml)实现。示例配置:
# /app/config.yaml 示例 listen: http: port: 8080 read_timeout: 30s write_timeout: 30s mqtt: port: 1883 max_packet_size: 1MB keepalive_interval: 60s auth: mode: cert cert: ca_cert: /etc/gateway/certs/ca.crt server_cert: /etc/gateway/certs/server.crt server_key: /etc/gateway/certs/server.key client_auth: required # 强制客户端证书认证 routes: - protocol: grpc match: service: "agent.ControlPlane" method: "ReportStatus" backend: endpoints: ["[***]", "[***]"] load_balance: round_robin # 轮询负载均衡 logging: level: info format: json output: /app/logs/gateway.log max_size: 100MB # 单日志文件大小 max_backup: 10 # 日志文件保留数量 metrics: path: /metrics scrape_interval: 10s
对于大规模部署,建议通过 Docker Compose 或 Kubernetes 实现集群化部署,示例 Kubernetes Deployment 片段:
apiVersion: apps/v1 kind: Deployment metadata: name: mcp-gateway spec: replicas: 3 # 3实例集群 selector: matchLabels: app: mcp-gateway template: metadata: labels: app: mcp-gateway spec: containers: - name: mcp-gateway image: mcp-gateway:latest ports: - containerPort: 8080 env: - name: AUTH_MODE value: "jwt" - name: JWT_SECRET valueFrom: secretKeyRef: name: mcp-gateway-secrets key: jwt-secret - name: CONTROL_PLANE_ENDPOINTS value: "[***]" livenessProbe: httpGet: path: /health/live port: 8080 initialDelaySeconds: 10 periodSeconds: 5 readinessProbe: httpGet: path: /health/ready port: 8080 initialDelaySeconds: 5 periodSeconds: 3
http://<gateway-ip>:8080/health/live,返回 200 OK 表示服务存活http://<gateway-ip>:8080/health/ready,返回 200 OK 表示服务可接收请求http://<gateway-ip>:9090/metrics 获取 Prometheus 格式指标,关键指标包括:
mcp_gateway_connections_total:总连接数mcp_gateway_data_throughput_bytes:数据吞吐量(字节)mcp_gateway_request_latency_ms:请求处理延迟(毫秒)mcp_gateway_errors_total:错误总数(按类型统计)注:具体功能与配置参数可能因镜像版本不同存在差异,建议结合官方镜像标签(如 mcp-gateway:v1.2.0)的版本说明文档使用。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429