大模型后端一体化 Docker 镜像,集成 vLLM、MinerU、Kafka、Redis、MySQL、Elasticsearch、Neo4j 等常用组件,开箱即用,快速部署,降低环境搭建成本。
一站式集成大模型推理、文档解析、消息队列、缓存、数据库、搜索引擎、图数据库及工作流服务。
本镜像面向 LLM 应用开发、RAG 知识库、AI Agent、多模态文档处理及大模型后端系统 等应用场景,预置常用 AI 框架和基础中间件。
集成 vLLM、MinerU、Redis、Kafka、Elasticsearch、MySQL、Nginx、Temporal、Neo4j 等组件,减少重复安装、环境配置及依赖管理工作。
开发者可以直接在容器中按需启动相应服务,快速搭建完整的大模型后端开发与测试环境。
核心优势:
| 组件 | 功能说明 | 默认端口 |
|---|---|---|
| vLLM | 大语言模型推理与 OpenAI 兼容 API | 8000 |
| MinerU | PDF 文档解析与内容提取 | — |
| Redis 7.2.5 | 高性能缓存、键值存储 | 6379 |
| Kafka 4.4.0 | 消息队列、异步通信 | 9092 |
| Elasticsearch 8.15.3 | 全文检索、中文分词、向量检索 | 9200 |
| MySQL | 关系型数据库 | 3306 |
| Nginx | Web 服务、反向代理 | 80 |
| Temporal | 分布式工作流与任务编排 | 7233 / 8233 |
| Neo4j 2026.10.1 | 图数据库、知识图谱 | 7474 / 7687 |
以上端口为各组件常用或示例配置端口,实际监听地址、端口和功能以镜像内配置为准。各服务默认不保证自动启动,需按需执行启动命令。
使用 Docker 启动镜像:
docker run -it \
--name llm-backend \
-p 8000:8000 \
-p 6379:6379 \
-p 9092:9092 \
-p 9200:9200 \
-p 3306:3306 \
-p 80:80 \
-p 7233:7233 \
-p 8233:8233 \
-p 7474:7474 \
-p 7687:7687 \
<镜像名>:<标签> \
bash
将 <镜像名>:<标签> 替换为实际镜像名称。
如使用 GPU 推理,请确认安装 NVIDIA Container Toolkit,并根据环境增加 --gpus all 参数。
此命令适用于本地开发与测试。生产部署时请根据需要映射端口,配置数据持久化、身份认证和网络访问策略。Kafka 等服务的外部访问可能还需要额外配置监听地址。
vLLM 提供高性能大语言模型推理服务,兼容 OpenAI API 接口。
启动服务
cd /workspace
vllm serve models/Qwen3.5-0.8B/
模型目录需要提前存在于容器中。
使用 curl 测试
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "models/Qwen3.5-0.8B/",
"messages": [
{
"role": "user",
"content": "你好,什么是机器学习?"
}
],
"temperature": 0.7,
"max_tokens": 256
}'
使用 Python 测试
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="EMPTY"
)
resp = client.chat.completions.create(
model="models/Qwen3.5-0.8B/",
messages=[
{
"role": "user",
"content": "你好,介绍一下你自己"
}
],
temperature=0.7,
max_tokens=256
)
print(resp.choices[0].message.content)
model应与/v1/models接口返回的模型 ID 保持一致。未启用 API Key 验证时可使用EMPTY。
MinerU 用于 PDF 文档内容提取与结构化解析,适用于 RAG 知识库、文档检索及数据预处理等场景。
解析 PDF
cd /workspace
mineru-kit parse pdf/test2.pdf \
--format zip \
-o output.zip \
--tier advanced
解析结果输出为 output.zip。
Redis 可用于缓存、会话管理、任务状态存储等场景。
启动 Redis
/workspace/software/redis-7.2.5/src/redis-server \
/workspace/software/redis-7.2.5/redis.conf
连接测试
/workspace/software/redis-7.2.5/src/redis-cli ping
正常情况下返回:
PONG
Kafka 适用于消息传递、异步任务处理和事件驱动架构。
启动 Kafka
/workspace/software/kafka_2.13-4.4.0/bin/kafka-server-start.sh \
/workspace/software/kafka_2.13-4.4.0/config/server.properties
创建 Topic
cd /workspace/software/kafka_2.13-4.4.0
bin/kafka-topics.sh --create \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
生产消息
bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092
输入任意消息并回车发送。
消费消息
在新的终端执行:
cd /workspace/software/kafka_2.13-4.4.0
bin/kafka-console-consumer.sh \
--topic test-topic \
--bootstrap-server localhost:9092 \
--from-beginning
如果消费者能够收到生产者发送的消息,说明消息收发正常。
Elasticsearch 支持全文检索、数据索引和向量检索,可作为 RAG 检索系统的基础组件。
启动 Elasticsearch
先切换用户:
su esuser
启动服务:
/workspace/software/elasticsearch-8.15.3/bin/elasticsearch
中文分词测试
curl -s -X POST \
'http://localhost:9200/_analyze' \
-H 'Content-Type: application/json' \
-d '{
"analyzer": "ik_max_word",
"text": "中华人民共和国国歌"
}'
正常情况下返回分词 Token 信息。
此示例要求 Elasticsearch 已安装并配置 IK 分词插件,且当前 HTTP 接口允许访问。若启用了 HTTPS 或身份认证,请相应调整请求。
MySQL 用于持久化存储用户信息、业务数据及应用配置。
启动 MySQL
mysqld \
--user=mysql \
--datadir=/var/lib/mysql \
--socket=/var/run/mysqld/mysqld.sock \
--port=3306
登录 MySQL
mysql -u root -p
根据提示输入数据库密码。
查看数据库
SHOW DATABASES;
Nginx 可提供静态资源服务、反向代理和请求转发功能。
启动 Nginx
nginx && sleep 1 && \
ps -ef | grep nginx | grep -v grep
配置检查
nginx -t
Temporal 可用于复杂 AI Agent 工作流、长时间运行任务、异步编排及任务状态管理。
启动 Temporal
env \
-u HTTP_PROXY \
-u HTTPS_PROXY \
-u ALL_PROXY \
-u http_proxy \
-u https_proxy \
-u all_proxy \
/workspace/software/temporal server start-dev \
--ip 0.0.0.0 \
--ui-ip 0.0.0.0 \
--log-level debug
运行示例
在 /workspace 中执行:
cd /workspace
# 启动 Worker
python temporal_test.py worker &
# 执行工作流
python temporal_test.py run --name "张三"
需要确保示例脚本 temporal_test.py 已存在。
Web 管理界面
http://localhost:8233
start-dev为开发测试模式,不建议直接作为生产环境的部署方案。
Neo4j 适用于知识图谱、实体关系分析、GraphRAG 等场景。
启动 Neo4j
env \
-u HTTP_PROXY \
-u HTTPS_PROXY \
-u ALL_PROXY \
-u http_proxy \
-u https_proxy \
-u all_proxy \
/workspace/software/neo4j-community-2026.10.1/bin/neo4j console
Web 管理界面
http://localhost:7474
Bolt 连接端口
7687
可通过 Neo4j Browser 执行 Cypher 查询,实现图数据管理。
启动所需服务后,可以使用以下命令检查运行状态。
| 服务 | 验证命令 / 地址 | 正常结果 |
|---|---|---|
| vLLM | curl localhost:8000/v1/models | 返回模型列表 |
| Redis | redis-cli ping | 返回 PONG |
| Kafka | bin/kafka-topics.sh --list --bootstrap-server localhost:9092 | 返回 Topic 列表 |
| Elasticsearch | curl localhost:9200 | 返回 ES 服务信息 |
| MySQL | mysql -u root -p | 可以成功登录 |
| Nginx | nginx -t | 配置检测成功 |
| Temporal | http://localhost:8233 | 管理界面可访问 |
| Neo4j | http://localhost:7474 | Browser 界面可访问 |
注意:
redis-cli 路径。不一定。镜像预置相关组件,但各服务是否自动启动取决于容器的启动配置。
可以按照本 README 提供的命令按需启动,避免不必要的资源占用。
建议检查:
可执行:
nvidia-smi
查看 GPU 状态(需宿主机及容器正确配置 GPU 环境)。
通常与以下因素有关:
127.0.0.1。advertised.listeners 配置与客户端访问地址不一致。需要根据服务实际配置检查监听地址、端口映射和网络策略。
ss -lntp
也可以查看进程:
ps -ef
Docker 容器可写层的数据不适合作为可靠的长期持久化方案。
建议为数据库及其他有状态服务配置 Docker Volume 或宿主机目录映射,并根据实际配置文件确认对应数据目录。
该镜像主要面向开发、调试、演示和测试场景。
正式生产部署前建议:
本镜像适用于:
大模型后端全家桶 Docker Image
一镜集成常用组件,让开发者将更多精力投入到 AI 应用与业务逻辑本身。
快速部署 · 统一环境 · 降低搭建成本