安装RAGFlow-docker

要将 Docker 从版本 23.0.2 升级到 24.x 或更高版本,可以按照以下步骤进行操作。请注意,Docker 的主要版本升级可能包含一些重要的变更和新特性,因此在升级前建议备份重要数据,并查看官方文档了解新版本的兼容性和注意事项。

1. 卸载现有 Docker 版本

首先,需要卸载现有的 Docker 安装:

sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

2. 安装必要的依赖包

确保系统已安装必要的依赖包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3. 设置 Docker 的稳定仓库

添加 Docker 的官方仓库:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4. 更新仓库缓存

更新 YUM 仓库缓存以获取最新的包信息:

sudo yum makecache fast

5. 安装最新版本的 Docker CE

安装 Docker CE(社区版)的最新版本。如果想安装特定版本,可以通过列出可用版本来选择:

yum list docker-ce --showduplicates | sort -r

然后安装指定版本,例如 26.1.4

sudo yum install docker-ce-24.0.0 docker-ce-cli-26.1.4 containerd.io

如果没有指定版本,YUM 将自动安装最新版本:

sudo yum install docker-ce docker-ce-cli containerd.io

6. 启动并启用 Docker 服务

启动 Docker 并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

7. 验证 Docker 安装

验证 Docker 是否成功升级到所需版本:

docker --version

8. 升级 Docker Compose(可选)

如果你使用的是 Docker Compose,也可以将其升级到最新版本:

下载最新版本的 Docker Compose

访问 Docker Compose 的 GitHub 发布页面获取最新版本号:https://github.com/docker/compose/releases

下载最新版本的 Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.x.x/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

v2.x.x 替换为实际的最新版本号。

赋予执行权限

赋予 docker-compose 执行权限:

sudo chmod +x /usr/local/bin/docker-compose
验证 Docker Compose 安装
#单独安装的docker-compose 命令
docker-compose --version
#docker自带的docker-compose命令
docker compose version
修改 Docker 修改镜像源地址:
#路径:
/etc/docker/daemon.json
#修改镜像源地址:

"registry-mirrors": [
   "https://docker.registry.cyou",
   "https://docker-cf.registry.cyou",
   "https://dockercf.jsdelivr.fyi",
   "https://docker.jsdelivr.fyi",
   "https://dockertest.jsdelivr.fyi",
   "https://mirror.aliyuncs.com",
   "https://dockerproxy.com",
   "https://mirror.baidubce.com",
   "https://docker.m.daocloud.io",
   "https://docker.nju.edu.cn",
   "https://docker.mirrors.sjtug.sjtu.edu.cn",
   "https://docker.mirrors.ustc.edu.cn",
   "https://mirror.iscas.ac.cn",
   "https://docker.rainbond.cc"
 ]

#重新加载:
sudo systemctl daemon-reload
#重启:
sudo systemctl restart docker
#查看状态:
sudo systemctl status docker

处理mysql8 问题用Docker升级MySQL时报错Fatal glibc error: CPU does not support x86-64-v2

Docker安装MySQL8.0.39报错:Fatal glibc error: CPU does not support x86-64-v2 - 颜骏 - 博客园

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4.0-oraclelinux8
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4.0-oraclelinux8  docker.io/mysql:8.4.0-oraclelinux8

RagFlow 部署指南 - 直接拉取镜像

一、RagFlow 概述

RagFlow 是一款开源的 RAG(Retrieval-Augmented Generation)引擎,专注于深度文档理解,能够助力企业及个人构建高效的 RAG 工作流程。借助大语言模型(LLM),它可以精准处理各种复杂格式的数据,为用户提供可靠的问答服务,并附上详实的引用依据。

二、部署前置条件

硬件配置要求
○CPU:至少 4 核,以保障系统在处理 RagFlow 任务时具备充足的运算能力,避免因 CPU 资源不足导致运行卡顿或任务处理延迟。
○RAM:不低于 16GB,为 RagFlow 及其相关服务的运行提供充裕的内存空间,确保数据的高效缓存和处理,减少因内存紧张引发的性能问题。
○Disk:大于等于 50GB,用于存储 RagFlow 运行过程中产生的各类数据,包括但不限于日志文件、临时数据文件以及可能的数据库文件等。
软件版本要求
○Docker:需达到 24.0.0 及以上版本。Docker 作为实现 RagFlow 镜像部署的核心工具,其高版本能够提供更出色的性能和功能支持,确保容器化应用的稳定运行和高效管理。
○Docker Compose:不低于 v2.26.1 版本。它在多容器 Docker 应用的配置和部署中发挥着关键作用,与 Docker 紧密协作,保障 RagFlow 各个组件在容器环境中正确启动、运行和协同工作。

三、启动服务步骤

注意:本指南中的测试服务器采用 Centos7.9 操作系统。

3.1 配置系统参数

1确保 vm.max_map_count 不小于 262144。
2如需确认 vm.max_map_count 的当前大小,可在终端运行以下命令:

sysctl vm.max_map_count


●若其值小于 262144,可进行临时重置:

sysctl vm.max_map_count


●但需注意此临时改动在系统重启后会恢复原状。若要实现永久更改,需编辑 /etc/sysctl.conf 文件,在其中添加或修改 vm.max_map_count=262144 这一行,保存文件后,执行 sudo sysctl -p 使配置生效。

3.2 安装 Docker

详见第一章节

3.3 代码与配置操作
3.3.1 拉取代码

从 GitHub 克隆 RagFlow 代码到本地环境,以便进行后续的定制和部署工作。

git clone https://github.com/infiniflow/ragflow.git
3.3.2 将代码移入私有 Git 仓库

将本地克隆的代码转移至私有 Git 仓库,这一步骤能够有效实现代码的版本管理、数据备份,在团队协作或多环境部署场景下,还能方便地实现代码的共享和同步,确保各个环境中的代码保持高度一致。

3.3.3 修改配置文件

●.env 文件: 该文件主要用于配置 RagFlow 应用程序的各类环境变量,这些变量在整个应用的部署和运行过程中起着关键作用,涵盖了控制不同服务的行为、连接信息、资源限制等方面。考虑到网络环境的差异和访问效率的需求,建议将其中的镜像地址修改为国内地址,这样可以显著提升镜像拉取速度,降低因网络问题导致的部署失败风险,保障部署工作高效、稳定地推进。

RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:nightly-slim


●docker-compose.yml 文件: 此文件主要用于配置 ragflow 服务。在本次部署中,特意将 mysql 的依赖检查功能禁用,这是为了更好地满足当前的部署或测试需求,使得 ragflow 服务在运行时不再依赖于 mysql 服务的健康状态,从而能够更灵活地进行部署和测试。这样的设置为开发人员在特定场景下对 ragflow 服务进行独立操作和调试提供了便利,无需再等待 mysql 服务满足健康条件。

#    depends_on:
#      mysql:
#        condition: service_healthy


●docker-compose-base.yml 文件: 该文件主要负责容器化部署相关的配置,定义了 es01、infinity、mysql、minio 和 redis 五个服务。每个服务都有其独特的配置细节,包括从不同的仓库拉取对应的 Docker 镜像,并对环境变量、端口映射、数据卷挂载和健康检查等方面进行了精心设置。此外,文件还定义了多个采用 local 驱动的数据卷,用于实现数据的持久化存储。为确保各服务之间能够顺畅通信,还构建了基于 bridge 驱动的 ragflow 网络。
 

  • 具体修改操作如下
    • 注释 profiles 部分
      • 在 es01 服务中,将 profiles 部分的 - elasticsearch 进行注释处理,以防止在某些特定情况下出现不必要的自动启用或关联行为。
      • 同样,在 infinity 服务中,将 profiles 部分的 - infinity 注释掉,避免可能产生的特定配置关联。
    • 修改部分服务镜像地址
      • 对于 infinity 服务,将其镜像地址设置为 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/infiniflow/infinity:v0.5.2,以便使用华为云 SWR 仓库的特定版本镜像。
      • mysql 服务的镜像地址更新为 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.39,同样从华为云 SWR 仓库拉取。
      • minio 服务的镜像地址使用 quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z,从 quay.io 拉取相应的镜像。
3.3.4 提交修改到本地Git仓库

在完成上述配置文件的修改后,务必将代码提交到私有 Git 仓库。这样做有助于后续的使用、管理和团队协作,能够有效保障代码安全,实现完善的版本控制,确保开发部署工作顺利进行。

3.4 部署流程
3.4.1 服务器拉取代码

从本地仓库拉取经过修改的代码,并进入 ragflow 目录,为后续的启动操作做好准备。

git pull <私有仓库地址>

3.4.2 拉取镜像并启动服务
在终端执行如下命令,拉取所需镜像并启动 RagFlow 服务,确保各个服务组件正确启动和运行。

docker compose -f docker/docker-compose.yml up -d

3.4.3 确认服务状态
通过查看终端输出或相关日志信息,确认服务是否成功启动。

docker logs -f ragflow-server

出现以下界面提示说明服务器启动成功

____   ___    ______ ______ __               
   / __ \ /   |  / ____// ____// /____  _      __
  / /_/ // /| | / / __ / /_   / // __ \| | /| / /
 / _, _// ___ |/ /_/ // __/  / // /_/ /| |/ |/ / 
/_/ |_|/_/  |_|\____//_/    /_/ \____/ |__/|__/  

* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit

3.4.4 访问应用
在浏览器中输入 http://ip,进入 RagFlow 的登录页面,进行注册登录操作,即可开始使用 RagFlow 应用。

四、参考资料(持续更新)

Docker 国内镜像查找:渡渡鸟镜像同步站。在部署过程中,如果需要查找特定的 Docker 镜像,可在此网站进行搜索和筛选,以获取适合的镜像资源。

参考:

RagFlow本地部署使用_ragflow本地化部署-CSDN博客

Deepseek结合RAGFlow搭建本地AI知识库 · 语雀

RagFlow 部署指南 - 直接拉取镜像 · 语雀

【AI落地应用实战】RAGFlow + 知识图谱 + Deepseek 初步探索

GraphRAG安装部署

知识图谱

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐