【RAGFlow代码详解-29】Docker 部署

Docker Compose 架构

RAGFlow 使用多服务 Docker Compose 设置来编排核心应用程序服务器、可选任务执行程序和支持的基础设施服务。主要部署配置在 docker/docker-compose.yml 1-75 中定义

主要服务配置包括运行状况检查依赖项和 .env 文件中的环境变量注入。可选的 MCP 服务器配置在 docker/docker-compose.yml 10-24 中 作为注释示例提供

服务编排和入口点

容器启动过程由 entrypoint.sh 脚本管理,该脚本通过命令行参数提供灵活的服务配置。该脚本支持多种作模式和组件隔离。


入口点脚本通过环境变量替换 docker/entrypoint.sh 133-141 处理配置模板处理,并管理分布式部署 docker/entrypoint.sh 45-56 的主机 ID 生成

MCP 服务器集成

模型上下文协议 (MCP) 服务器为 RAGFlow 提供外部工具集成功能。它可以通过 Docker 部署启用,并支持自托管和多租户主机模式。

MCP 服务器将 RAGFlow 的检索功能公开为 MCP 工具,ragflow_retrieval 工具支持数据集和文档过滤 mcp/server/server.py 175-203

配置管理

部署配置系统使用基于模板的环境变量替换来生成运行时配置文件。这样可以灵活地进行部署定制,而无需重新构建容器。

配置模板处理可确保在容器启动时正确应用特定于环境的设置 docker/entrypoint.sh 133-141

部署模式

RAGFlow 通过入口点脚本的命令行界面支持多种部署配置,允许组件隔离和扩展场景。

部署模式 描述 命令参数 用例
全栈 启用所有组件(默认) 没有 单节点开发/测试
仅限 API 服务器 没有任务处理的 Web 服务器 --disable-taskexecutor 单独的加工工人
API Server Only 没有 Web 服务器的任务执行器 --disable-webserver --workers=N 分布式处理节点
MCP 服务器 启用 MCP 协议服务器 --enable-mcpserver 外部工具集成
Range Workers 特定工作人员 ID 范围 --consumer-no-beg=X --consumer-no-end=Y 细粒度的工人控制

任务执行工作者使用 jemalloc 进行内存管理 docker/entrypoint.sh 154-158,并通过唯一主机标识符 docker/entrypoint.sh 195-207 支持分布式作

相关推荐
志栋智能10 小时前
超越监控:超自动化巡检提供的主动价值
运维·网络·人工智能·自动化
java_logo10 小时前
2026 Docker 国内镜像加速配置教程
运维·docker·容器·docker镜像·docker镜像源·docker镜像加速·docker镜像国内库
搜狐技术产品小编202310 小时前
破局与重构:纯端侧 Android 自动化引擎的尝试与未来推演
android·运维·重构·自动化
三十..10 小时前
Ceph分布式存储核心技术精要与运维实践指南
运维·分布式·ceph
tianyuanwo10 小时前
Jenkins × Gerrit 集成:自动触发构建的全流程解析
运维·servlet·jenkins
IT策士11 小时前
Docker从0到1再到 Kubernetes 实战:第15篇Compose 中的服务依赖、健康检查与启动顺序
docker·容器·kubernetes
Waay11 小时前
K8s Deployment 滚动更新与回滚深度详解(含踩坑实录+生产选型原理)
云原生·容器·kubernetes
“码”力全开11 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台架构——打通 GB28181/RTSP 协议与“源码交付”的高效集成方案
人工智能·docker·边缘计算
顾默@11 小时前
双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装
运维·docker·容器
木卫二号Coding11 小时前
打包容器有两种方式
docker