10分钟搞定AI平台部署:Bisheng Docker Compose一键上手指南
你还在为AI平台部署时的复杂配置头疼吗?服务器环境不兼容、依赖包冲突、服务启动顺序混乱——这些问题是否让你耗费数小时却仍无法正常运行系统?本文将带你通过Docker Compose实现Bisheng平台的一键部署,全程无需复杂命令,只需3步即可完成这个集LLM开发、部署、运维于一体的AI平台搭建。
读完本文你将获得:
- 从零开始部署Bisheng的完整流程
- 常见部署问题的解决方案
- 服务架构与配置文件的深度解析
- 平台健康检查与状态监控的实用技巧
部署前准备
在开始部署前,请确保你的环境满足以下要求:
- Docker Engine 20.10.0+
- Docker Compose 2.0+
- 至少4GB内存(推荐8GB以上)
- 20GB可用磁盘空间
如果尚未安装Docker环境,可以使用以下命令快速安装(适用于Ubuntu系统):
# 安装Docker
sudo apt-get update && sudo apt-get install -y docker.io docker-compose
# 启动Docker服务
sudo systemctl start docker && sudo systemctl enable docker
获取项目代码库:
git clone https://gitcode.com/GitHub_Trending/bi/bisheng
cd bisheng
核心服务架构解析
Bisheng平台采用微服务架构设计,通过Docker Compose编排了8个核心服务组件,形成完整的AI应用开发环境。以下是各服务的功能说明:
| 服务名称 | 容器名称 | 主要功能 | 关联配置文件 |
|---|---|---|---|
| mysql | bisheng-mysql | 存储用户数据与系统配置 | docker/mysql/conf/my.cnf |
| redis | bisheng-redis | 缓存与会话管理 | docker/redis/redis.conf |
| backend | bisheng-backend | API服务与核心业务逻辑 | docker/bisheng/config/config.yaml |
| backend_worker | bisheng-backend-worker | 异步任务处理 | docker/bisheng/entrypoint.sh |
| frontend | bisheng-frontend | Web管理界面 | docker/nginx/conf.d/default.conf |
| elasticsearch | bisheng-es | 向量与文本检索 | docker-compose.yml |
| milvus | bisheng-milvus-standalone | 向量数据库 | docker-compose.yml |
| minio | bisheng-milvus-minio | 对象存储服务 | docker-compose.yml |
服务启动顺序通过depends_on参数严格控制,确保依赖服务就绪后才启动后续组件,如后端服务需等待MySQL和Redis健康检查通过后才会启动。
一键部署步骤
1. 配置文件检查
进入项目的docker目录,确认核心配置文件存在:
cd docker
ls -l docker-compose.yml bisheng/config/config.yaml
关键配置项说明(可根据实际环境调整):
- MySQL密码:docker-compose.yml
- API服务端口:docker-compose.yml
- 向量数据库连接:docker-compose.yml
- 对象存储密钥:docker-compose.yml
2. 启动服务集群
执行以下命令启动所有服务:
# 后台启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
首次启动时,系统会自动拉取所需镜像,根据网络环境可能需要5-10分钟。成功启动后,你将看到类似以下的服务状态:
NAME COMMAND STATUS PORTS
bisheng-backend "sh entrypoint.sh api" Up (healthy) 0.0.0.0:7860->7860/tcp
bisheng-backend-worker "sh entrypoint.sh work…" Up 7860/tcp
bisheng-es "/opt/bitnami/script…" Up 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp
bisheng-frontend "/docker-entrypoint.…" Up 0.0.0.0:3001->3001/tcp
bisheng-milvus-etcd "etcd -advertise-clie…" Up (healthy) 2379-2380/tcp
bisheng-milvus-minio "/usr/bin/docker-ent…" Up (healthy) 0.0.0.0:9100->9000/tcp, 0.0.0.0:9101->9001/tcp
bisheng-milvus-standalone "milvus run standalone" Up (healthy) 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
bisheng-mysql "docker-entrypoint.s…" Up (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp
bisheng-redis "docker-entrypoint.s…" Up (healthy) 0.0.0.0:6379->6379/tcp
3. 验证部署结果
通过以下方式验证平台是否正常运行:
1. 访问Web界面 打开浏览器访问 http://localhost:3001,你应该能看到Bisheng的登录界面。
2. 检查API健康状态
curl http://localhost:7860/health
正常响应应为:{"status":"healthy","timestamp":"2025-10-16T01:21:40Z"}
3. 查看服务日志
# 查看后端服务日志
docker-compose logs -f backend
# 查看前端服务日志
docker-compose logs -f frontend
服务启动流程详解
Bisheng的启动流程由docker/bisheng/entrypoint.sh脚本控制,该脚本支持两种启动模式:
API服务模式(默认):
uvicorn bisheng.main:app --host 0.0.0.0 --port 7860 --no-access-log --workers 8
启动8个工作进程处理API请求,适合生产环境使用。
Worker模式:
# 启动知识库任务worker
celery -A bisheng.worker.main worker -l info -c 20 -P threads -Q knowledge_celery -n knowledge@%h
# 启动工作流执行worker
celery -A bisheng.worker.main worker -l info -c 100 -P threads -Q workflow_celery -n workflow@%h
# 启动状态管理worker
python bisheng/linsight/worker.py --worker_num 4 --max_concurrency 5
这种模式启动多个Celery工作进程,分别处理不同类型的异步任务,通过线程池提高并发处理能力。
常见问题解决
1. 服务启动失败
查看具体服务的日志定位问题:
# 替换[service_name]为实际服务名,如mysql、backend等
docker-compose logs [service_name]
常见原因及解决方法:
- 端口冲突:修改docker-compose.yml中对应服务的端口映射
- 配置错误:检查环境变量与配置文件的一致性
- 资源不足:增加系统内存或调整服务的资源限制
2. 前端无法访问后端API
检查Nginx配置是否正确:
# 查看Nginx配置
cat docker/nginx/conf.d/default.conf
确认API请求被正确代理到backend服务:
location ~ ^(/workspace)?/api(/|$) {
rewrite ^/workspace(/.*)$ $1 break;
proxy_pass http://backend:7860;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
3. 向量数据库连接失败
确认Milvus服务状态:
docker-compose exec milvus milvus health
检查后端服务的Milvus连接配置:
grep BS_MILVUS docker-compose.yml
平台停止与更新
停止服务
# 停止所有服务(保留数据)
docker-compose down
# 停止并删除数据卷(谨慎使用)
docker-compose down -v
更新平台版本
# 拉取最新代码
git pull
# 重新构建并启动服务
docker-compose up -d --build
总结
通过Docker Compose部署Bisheng平台,我们实现了:
- 环境一致性:消除"在我电脑上能运行"的问题
- 部署自动化:一条命令完成所有服务的配置与启动
- 服务隔离:各组件独立运行,避免依赖冲突
- 扩展灵活:可根据需求增减服务组件
现在你已经掌握了Bisheng平台的完整部署流程,接下来可以访问 http://localhost:3001 开始探索这个强大的LLM开发运维平台。如需深入了解平台功能,可以参考官方文档 src/backend/README.md 或查看项目的示例工作流。
如果你在部署过程中遇到其他问题,欢迎在项目的Issues中反馈,或者参与社区讨论获取帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



