Despliegue con Docker
Descripción de las imágenes
MCP Gateway ofrece dos métodos de despliegue:
- Despliegue All-in-One: Todos los servicios empaquetados en un solo contenedor, adecuado para despliegues en una sola máquina o uso local
- Despliegue multi-contenedor: Cada servicio desplegado de forma independiente, adecuado para entornos de producción o despliegues en clúster
Registros de imágenes
Las imágenes se publican en los siguientes tres registros:
- Docker Hub:
docker.io/ifuryst/mcp-gateway-*
- GitHub Container Registry:
ghcr.io/mcp-ecosystem/mcp-gateway/*
- Aliyun Container Registry:
registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-*
ghcr admite directorios multinivel, por lo que la organización es más clara, mientras que los registros de Docker y Aliyun solo permiten un nivel de directorio, por lo que los nombres de las imágenes se concatenan con -
Etiquetas de imágenes
latest
: Última versiónvX.Y.Z
: Número de versión específico
⚡ Nota: ¡MCP Gateway está actualmente en rápida iteración! Por lo tanto, se recomienda desplegar usando números de versión para mayor confiabilidad
Imágenes disponibles
# Versión All-in-One
docker pull docker.io/ifuryst/mcp-gateway-allinone:latest
docker pull ghcr.io/mcp-ecosystem/mcp-gateway/allinone:latest
docker pull registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-allinone:latest
# API Server
docker pull docker.io/ifuryst/mcp-gateway-apiserver:latest
docker pull ghcr.io/mcp-ecosystem/mcp-gateway/apiserver:latest
docker pull registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-apiserver:latest
# MCP Gateway
docker pull docker.io/ifuryst/mcp-gateway-mcp-gateway:latest
docker pull ghcr.io/mcp-ecosystem/mcp-gateway/mcp-gateway:latest
docker pull registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-mcp-gateway:latest
# Mock User Service
docker pull docker.io/ifuryst/mcp-gateway-mock-user-svc:latest
docker pull ghcr.io/mcp-ecosystem/mcp-gateway/mock-user-svc:latest
docker pull registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-mock-user-svc:latest
# Frontend web
docker pull docker.io/ifuryst/mcp-gateway-web:latest
docker pull ghcr.io/mcp-ecosystem/mcp-gateway/web:latest
docker pull registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-web:latest
Despliegue
Despliegue All-in-One
El despliegue All-in-One empaqueta todos los servicios en un solo contenedor, adecuado para despliegues en una sola máquina o uso local. Incluye los siguientes servicios:
- API Server: Backend de la plataforma de administración, se puede entender como el plano de control
- MCP Gateway: Servicio principal, responsable del servicio de gateway real, se puede entender como el plano de datos
- Mock User Service: Servicio de usuario simulado, proporciona un servicio de usuario para pruebas (sus servicios API existentes pueden ser similares a este)
- Frontend web: Frontend de la plataforma de administración, proporciona una interfaz de administración visual
- Nginx: Proxy inverso para los otros servicios
Utiliza Supervisor para gestionar los procesos de servicio. Todos los registros se envían a stdout
Descripción de puertos
8080
: Puerto de la interfaz web5234
: Puerto del API Server5235
: Puerto del MCP Gateway5335
: Puerto de administración del MCP Gateway (alberga interfaces internas como reload, no exponer en producción)5236
: Puerto del Mock User Service
Persistencia de datos
Se recomienda montar los siguientes directorios:
/app/configs
: Directorio de archivos de configuración/app/data
: Directorio de datos/app/.env
: Archivo de variables de entorno
Comandos de ejemplo
- Crear los directorios necesarios y descargar los archivos de configuración:
mkdir -p mcp-gateway/{configs,data}
cd mcp-gateway/
curl -sL https://raw.githubusercontent.com/mcp-ecosystem/mcp-gateway/refs/heads/main/configs/apiserver.yaml -o configs/apiserver.yaml
curl -sL https://raw.githubusercontent.com/mcp-ecosystem/mcp-gateway/refs/heads/main/configs/mcp-gateway.yaml -o configs/mcp-gateway.yaml
curl -sL https://raw.githubusercontent.com/mcp-ecosystem/mcp-gateway/refs/heads/main/.env.example -o .env.allinone
Los LLMs se pueden cambiar según sea necesario, por ejemplo, a Qwen (necesita ser compatible con OpenAI)
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1/
OPENAI_API_KEY=sk-yourkeyhere
OPENAI_MODEL=qwen-turbo
- Ejecutar MCP Gateway usando Docker:
# Usar imagen de Aliyun Container Registry (recomendado para servidores o dispositivos en China continental)
docker run -d \
--name mcp-gateway \
-p 8080:80 \
-p 5234:5234 \
-p 5235:5235 \
-p 5335:5335 \
-p 5236:5236 \
-e ENV=production \
-v $(pwd)/configs:/app/configs \
-v $(pwd)/data:/app/data \
-v $(pwd)/.env.allinone:/app/.env \
--restart unless-stopped \
registry.ap-southeast-1.aliyuncs.com/mcp-ecosystem/mcp-gateway-allinone:latest
# Usar imagen de GitHub Container Registry
docker run -d \
--name mcp-gateway \
-p 8080:80 \
-p 5234:5234 \
-p 5235:5235 \
-p 5335:5335 \
-p 5236:5236 \
-e ENV=production \
-v $(pwd)/configs:/app/configs \
-v $(pwd)/data:/app/data \
-v $(pwd)/.env.allinone:/app/.env \
--restart unless-stopped \
ghcr.io/mcp-ecosystem/mcp-gateway/allinone:latest
Consideraciones
- Asegurarse de que los archivos de configuración y variables de entorno estén correctamente configurados
- Se recomienda usar etiquetas de versión en lugar de latest
- Para entornos de producción, se recomienda configurar límites de recursos apropiados
- Asegurarse de que los directorios montados tengan los permisos correctos