Docker
Descripción general de imágenes
MCP Gateway ofrece dos métodos de implementación:
- Implementación All-in-One: Todos los servicios se empaquetan en un solo contenedor, adecuado para implementaciones locales o de nodo único.
- Implementación multi-contenedor: Cada servicio se implementa por separado, adecuado para entornos de producción o clúster.
Registros de imágenes
Las imágenes se publican en los siguientes registros:
- Docker Hub:
docker.io/ifuryst/unla-*
- GitHub Container Registry:
ghcr.io/amoylab/unla/*
- Alibaba Cloud Container Registry:
registry.ap-southeast-1.aliyuncs.com/amoylab/unla-*
GitHub Container Registry admite directorios multinivel para una organización más clara, mientras que Docker Hub y Alibaba Cloud utilizan una nomenclatura plana con guiones.
Etiquetas de imágenes
latest
: Última versiónvX.Y.Z
: Versión específica
⚡ Nota: ¡MCP Gateway está en desarrollo rápido! Se recomienda usar etiquetas de versión específicas para implementaciones más confiables.
Imágenes disponibles
# Versión All-in-One
docker pull docker.io/ifuryst/unla-allinone:latest
docker pull ghcr.io/amoylab/unla/allinone:latest
docker pull registry.ap-southeast-1.aliyuncs.com/amoylab/unla-allinone:latest
# API Server
docker pull docker.io/ifuryst/unla-apiserver:latest
docker pull ghcr.io/amoylab/unla/apiserver:latest
docker pull registry.ap-southeast-1.aliyuncs.com/amoylab/unla-apiserver:latest
# MCP Gateway
docker pull docker.io/ifuryst/unla-mcp-gateway:latest
docker pull ghcr.io/amoylab/unla/mcp-gateway:latest
docker pull registry.ap-southeast-1.aliyuncs.com/amoylab/unla-mcp-gateway:latest
# Mock User Service
docker pull docker.io/ifuryst/unla-mock-server:latest
docker pull ghcr.io/amoylab/unla/mock-server:latest
docker pull registry.ap-southeast-1.aliyuncs.com/amoylab/unla-mock-server:latest
# Web Frontend
docker pull docker.io/ifuryst/unla-web:latest
docker pull ghcr.io/amoylab/unla/web:latest
docker pull registry.ap-southeast-1.aliyuncs.com/amoylab/unla-web:latest
Implementación
Implementación All-in-One
La implementación All-in-One empaqueta todos los servicios en un solo contenedor, ideal para implementaciones de nodo único o locales. Incluye los siguientes servicios:
- API Server: Backend de gestión (Plano de control)
- MCP Gateway: Servicio principal que maneja el tráfico de la puerta de enlace (Plano de datos)
- Mock User Service: Servicio de usuario simulado para pruebas (puede ser reemplazado por su servicio API existente)
- Web Frontend: Interfaz de gestión basada en web
- Nginx: Proxy inverso para servicios internos
Los procesos se gestionan con Supervisor, y todos los registros se envían a stdout.
Puertos
8080
: Interfaz web5234
: API Server5235
: MCP Gateway5335
: MCP Gateway Admin (puntos finales internos como reload; NO exponer en producción)5236
: Mock User Service
Persistencia de datos
Se recomienda montar los siguientes directorios:
/app/configs
: Archivos de configuración/app/data
: Almacenamiento de datos/app/.env
: Archivo de variables de entorno
Ejemplos de comandos
- Cree los directorios necesarios y descargue los archivos de configuración:
mkdir -p unla/{configs,data}
cd unla/
curl -sL https://raw.githubusercontent.com/amoylab/unla/refs/heads/main/configs/apiserver.yaml -o configs/apiserver.yaml
curl -sL https://raw.githubusercontent.com/amoylab/unla/refs/heads/main/configs/mcp-gateway.yaml -o configs/mcp-gateway.yaml
curl -sL https://raw.githubusercontent.com/amoylab/unla/refs/heads/main/.env.example -o .env.allinone
Puede reemplazar el LLM predeterminado si es necesario (debe ser compatible con OpenAI), por ejemplo, usar Qwen:
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1/
OPENAI_API_KEY=sk-yourkeyhere
OPENAI_MODEL=qwen-turbo
- Ejecute MCP Gateway con Docker:
# Usar el registro de Alibaba Cloud (recomendado para servidores/dispositivos en China)
docker run -d \
--name unla \
-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/amoylab/unla-allinone:latest
# Usar GitHub Container Registry
docker run -d \
--name unla \
-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/amoylab/unla/allinone:latest
Notas
- Asegúrese de que los archivos de configuración y el archivo de entorno estén configurados correctamente.
- Se recomienda usar una etiqueta de versión específica en lugar de
latest
. - Establezca límites de recursos apropiados para implementaciones en producción.
- Asegúrese de que los directorios montados tengan los permisos adecuados.