Linux系统上手把手带你一步步搭建RAGFlow(ubuntu24.04 +Docker 28.3.2+RTX 2080 Ti)超详细!!!

该文章已生成可运行项目,

RTX 2080 Ti服务器部署RAGFlow知识库:

本次安装部署基于以下配置:

操作系统版本:ubuntu24.04  查看系统版本指令:cat /etc/os-release   或者lsb_release -a
docker版本号:Docker version 28.3.2, build 578ccf6,
主机所用显卡:NVIDIA GPU(RTX 2080 Ti)   NVIDIA GeForce RTX 2080 Ti
显卡所用镜像:nvidia/cuda:12.9.1-base-ubuntu24.04,拉取镜像指令: docker run --rm --gpus all nvidia/cuda:12.9.1-base-ubuntu24.04
测试显卡在docker环境中是否可用指令:docker run --rm --gpus all nvidia/cuda:12.9.1-base-ubuntu24.04 nvidia-smi
如果成功,表明Docker + NVIDIA GPU 环境已经配置成功
如何查看可用的 CUDA 镜像标签?
你可以访问: https://hub.docker.com/r/nvidia/cuda/tags

言归正传,正式开始安装:

第一步:我们需要知道当前所使用的操作系统及版本

1. 查看系统发行版信息(推荐)

cat /etc/os-release

查看系统版本指令:cat /etc/os-release   或者lsb_release -a

输出示例:

NAME="Ubuntu"
VERSION="24.04 LTS (Noble Numbat)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 24.04 LTS"
VERSION_ID="24.04"

第二步:在linux操作系统中安装最新版本的docker及docker-compose,作者部署时最新的 Docker安装包版本为 28.3.2。

Docker 安装步骤过程说明:(Ubuntu 示例)
1. 更新软件包索引

首先确保你的软件包数据库是最新的:

sudo apt-get update
2. 安装一些必要的依赖包

这些依赖包帮助你通过HTTPS使用仓库:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3. 添加Docker的官方GPG密钥

这一步是为了验证下载的软件包确实来自Docker官方:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. 添加Docker APT仓库

根据你的Linux发行版选择正确的命令。对于Ubuntu用户,可以使用如下命令添加稳定版仓库:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5. 再次更新软件包索引

添加了新的仓库后,记得再次更新软件包列表:

sudo apt-get update
6. 安装 Docker 28.3.2
步骤 1: 下载 Docker

首先,使用 wget 命令下载 Docker 28.3.2 的压缩包。

docker下载地址为: https://download.docker.com/linux/static/stable/x86_64/docker-28.3.2.tgz

wget https://download.docker.com/linux/static/stable/x86_64/docker-28.3.2.tgz
步骤 2: 解压文件

下载完成后,解压 .tgz 文件到 /usr/bin/ 目录下,以便系统可以找到 Docker 命令。

tar -xzvf docker-28.3.2.tgz
sudo cp docker/* /usr/bin/
步骤 3: 设置 Docker 为服务(可选)

为了方便管理和自动启动 Docker 服务,你可以创建一个 systemd 服务文件。
创建并编辑一个新的服务文件:

sudo nano /etc/systemd/system/docker.service

在文件中添加以下内容:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target

加载新的服务文件,并启动 Docker 服务:

sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
7. 验证安装是否成功

检查Docker服务是否正常运行:

sudo systemctl status docker

运行以下命令查看 Docker 版本信息:

docker --version

输出应为:

Docker version 28.3.2, build ...

也可以通过运行一个简单的容器来测试:

sudo docker run hello-world
安装 Docker Compose
1. 下载最新版本的Docker Compose

从GitHub上获取最新版本的Docker Compose二进制文件。可以通过访问Docker Compose Releases页面找到最新版本号。然后,使用 curl 命令下载 Docker Compose 的二进制文件。下面的例子假设你要下载的是v2.20.3版本(请替换为你想要安装的具体版本号):

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

也可以使用以下命令安装最新版本:

DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -o '"tag_name": "v.*"' | cut -d'"' -f4)
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

还可以参考下面的示例命令,同样它也会自动获取最新版本的 Docker Compose 并下载到你的系统中:

sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这段命令做了以下几件事:

  • 使用 GitHub API 获取 Docker Compose 的最新标签(即版本号)。
  • 根据你的操作系统架构下载对应的 Docker Compose 二进制文件。
  • 将下载的文件放置在 /usr/local/bin/docker-compose 路径下。
2. 应用可执行权限

使下载的文件成为可执行文件:

sudo chmod +x /usr/local/bin/docker-compose

3. 验证安装

检查Docker Compose是否正确安装并查看其版本信息:

docker-compose --version

你应该看到类似如下的输出,显示了已安装的 Docker Compose 版本号:

docker-compose version 2.x.x, build xxxxxxxx

以上就是在Linux系统中安装最新版本Docker及Docker Compose的基本步骤。如果遇到任何问题,可参考Docker官方文档Docker Compose官方文档获取更多帮助。

现在,你应该已经成功安装了最新的 Docker Compose 版本,并且可以开始使用它来管理多容器 Docker 应用了。

第三步:首先我们需要查看当前主机安装了什么显卡,并使docker可以正常使用该显卡:

要在 GPU 环境下运行RAGFlo需要:

  • 安装 NVIDIA 显卡驱动;
  • 安装 nvidia-container-toolkit;
  • 重启 Docker;
  • 测试是否支持 GPU 容器
一、查看当前主机安装的显卡型号(仅适用于 NVIDIA GPU)

方法:使用 lspci 命令

lspci | grep -i nvidia

示例输出:

admin123@admin:/home/knowledge/ragflow/docker$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1)

二、确认系统是否已安装 NVIDIA 驱动

运行:

nvidia-smi

正常输出示例:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.54.03    Driver Version: 535.54.03    CUDA Version: 12.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-PCIE...  On   | 00000000:06:00.0 Off |                    0 |
| N/A   34C    P0    27W / 250W |      0MiB / 32768MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+


表示你已经安装了 NVIDIA 驱动,并且系统识别到了 GPU

三、安装 NVIDIA 驱动(Ubuntu/Debian 系统)
1.:使用系统自带工具安装推荐驱动
sudo ubuntu-drivers autoinstall
2. 然后重启系统:
sudo reboot

四、为 Docker 安装 NVIDIA Container Toolkit(使 Docker 支持 GPU)(Ubuntu/Debian)

安装完成后,Docker 才能通过 --gpus all 参数访问 GPU。

1. 添加仓库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
2. 更新包列表并安装
sudo apt update
sudo apt install -y nvidia-docker2
3.重启 Docker
sudo systemctl restart docker
五、 验证 Docker 是否可以访问 GPU
1. 运行测试命令:

docker run --rm --gpus all nvidia/cuda:12.9.1-base-ubuntu24.04

docker run --rm --gpus all nvidia/cuda:12.9.1-base-ubuntu24.04 nvidia-smi

命令解释:

  • --rm:容器运行完后自动删除。
  • --gpus all:将所有可用 GPU 挂载进容器。
  • nvidia/cuda:12.9.1-base-ubuntu24.04:使用的镜像。
  • nvidia-smi:在容器内部运行的命令,用于查看 GPU

如果输出和你在宿主机上运行 nvidia-smi 的结果一致,说明配置成功!

2. 提示

3. 错误注解

当使用docker run --rm --gpus all nvidia/cuda:12.9.1-base nvidia-smi 测试指令失败时,注意请使用支持的 CUDA 镜像标签

NVIDIA 官方在 Docker Hub 上为 nvidia/cuda 镜像提供了多个标签(tag)

查看当前支持的所有 CUDA 标签

你可以访问: https://hub.docker.com/r/nvidia/cuda/tags

搜索 12.9、12.8 等关键词,选择一个存在的标签。

第四步 、 安装部署RAGfow知识库

📝 Prerequisites

  • CPU >= 4 cores
  • RAM >= 16 GB
  • Disk >= 50 GB
  • Docker >= 24.0.0 & Docker Compose >= v2.26.1

To check the value of vm.max_map_count:

$ sysctl vm.max_map_count

1. 下载RAGflow知识库到linux

项目地址:RAGflow

执行以下指令:

git clone https://github.com/infiniflow/ragflow.git

将会从 GitHub 上的项目 ragflow 仓库克隆(下载)到你当前所在的 本地目录下,并创建一个名为 ragflow 的子目录来存放该项目的所有文件。

假设你在终端中执行该命令时所处的路径是:

/home/yourname/projects/

那么执行完命令后,代码会被下载到:

/home/yourname/projects/ragflow/

git clone 默认会在 当前工作目录下创建一个与项目名相同的文件夹(这里是 ragflow),并将所有代码下载进去。
如果你想指定下载到其他路径,比如 /opt/ragflow_project/,可以这样写:

git clone https://github.com/infiniflow/ragflow.git /opt/ragflow_project

2. Start up the server using the pre-built Docker images:

Caution

All Docker images are built for x86 platforms. We don't currently offer Docker images for ARM64. If you are on an ARM64 platform, follow this guide to build a Docker image compatible with your system.

The command below downloads the v0.19.1-slim edition of the RAGFlow Docker image. See the following table for descriptions of different RAGFlow editions. To download a RAGFlow edition different from v0.19.1-slim, update the RAGFLOW_IMAGE variable accordingly in docker/.env before using docker compose to start the server. For example: set RAGFLOW_IMAGE=infiniflow/ragflow:v0.19.1 for the full edition v0.19.1.

$ cd ragflow/docker
# Use CPU for embedding and DeepDoc tasks:
$ docker compose -f docker-compose.yml up -d

# To use GPU to accelerate embedding and DeepDoc tasks:
# docker compose -f docker-compose-gpu.yml up -d

3. Check the server status after having the server up and running:

$ docker logs -f ragflow-server

注:查看 .env 文件指令

cat .env

接来的问题是要在 Ubuntu 24.04 上使用 Docker 部署 RAGFlow 并集成外部的 llama.cpp 大模型(例如 Qwen-3),确认 Docker 和 Docker Compose 已安装,安装并配置好了 llama.cpp ,接下来需要怎么样做?如何更新 RAGFlow 应用来使用 llama.cpp 模型?

1. 确认 Docker 和 Docker Compose 已安装

确保你的系统已经安装了 Docker 和 Docker Compose,并且它们的版本符合要求。根据你提供的信息,Docker 版本是 28.3.2,这应该是满足条件的。

2. 安装并配置 llama.cpp

首先在主机上安装和配置 llama.cpp。由于你想使用的是大模型(如 Qwen-3),需要确保有足够的内存和计算资源来加载这些模型。

下载并编译 llama.cpp

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make

下载 Qwen-3 的模型权重文件,并使用 llama.cpp 提供的脚本转换为合适的格式。

确认模型已经跑起来了。在浏览器访问,可看到模型名称及数据

如下图所示

在RAGflow的模型提供商处填写,由于llama.cpp所提示的接口协议都是标准协议,所以使用LM-Studio来添加模型同样可以。

有两个要注意的地方,一是模型名称必须填写正确,二是IP地址后面必须加 / ,不然添加报错

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leftyu2010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值