这是一个基于 RAG (Retrieval-Augmented Generation) 技术的个人知识库问答系统,通过 Docker 容器化技术实现一键部署。项目集成了大语言模型、向量数据库、关系型数据库和对象存储等多个服务,展示了现代 AI 应用的基础架构。
# 1. 克隆项目
git clone <repository-url>
cd <project-directory>
# 2. 给启动脚本添加执行权限
chmod +x start.sh
# 3. 运行启动脚本
./start.sh
# 1. 创建必要的目录
mkdir -p uploads logs
# 2. 构建并启动所有服务
docker-compose up -d --build
# 3. 查看服务状态
docker-compose ps
启动成功后,可以通过以下地址访问:
. ├── backend/ # 后端服务 │ ├── Dockerfile # 后端镜像构建文件 │ ├── requirements.txt # Python 依赖 │ ├── entrypoint.sh # 启动脚本 │ └── app/ # 应用代码 ├── frontend/ # 前端服务 │ ├── Dockerfile # 前端镜像构建文件 │ ├── package.json # Node.js 依赖 │ ├── next.config.js # Next.js 配置 │ └── src/ # 应用代码 ├── docker-compose.yml # 服务编排文件 ├── nginx.conf # Nginx 配置 ├── .env # 环境变量 ├── start.sh # 启动脚本 ├── DEPLOYMENT.md # 部署文档 ├── DOCKER_GUIDE.md # Docker 实践指南 └── README_DOCKER.md # 本文档
# 启动所有服务
docker-compose up -d
# 停止所有服务
docker-compose down
# 重启所有服务
docker-compose restart
# 查看服务状态
docker-compose ps
# 查看服务日志
docker-compose logs -f
# 查看指定服务日志
docker-compose logs -f backend
# 重新构建指定服务
docker-compose build backend
# 重新构建所有服务
docker-compose build
# 强制重新构建(不使用缓存)
docker-compose build --no-cache
# 查看数据卷
docker volume ls
# 备份MySQL数据
docker exec db mysqldump -u ragwebui -pragwebui ragwebui > backup.sql
# 恢复MySQL数据
docker exec -i db mysql -u ragwebui -pragwebui ragwebui < backup.sql
# 清理所有数据(谨慎使用)
docker-compose down -v
netstat -tulpn | grep -E ':(80|3000|8000|8001|3306|9000|9001)'
docker-compose logs [服务名]
df -h
docker-compose ps db
docker-compose exec db mysql -u ragwebui -pragwebui ragwebui
docker network inspect workspace_app_network
docker-compose exec nginx nginx -t