> 技术文档 > RAGFlow纯内网环境使用Docker离线部署方法_ragflow内网部署

RAGFlow纯内网环境使用Docker离线部署方法_ragflow内网部署

目录

1 环境准备

1.1 互联网服务器Docker及 Docker Compose环境安装

Docker安装

Docker Compose安装 

1.2 内网服务器docker环境安装

Docker下载

Docker Compose下载

Docker&Docker Compose安装

2 镜像下载

2.1 项目下载

2.2 镜像下载

2.3 镜像打包,将 Docker 镜像保存为 tar 包

 3 内网服务器启动RAGFLOW

3.1 镜像传输

3.2 在离线服务器上加载 Docker 镜像

3.3 启动

        

根据公司的安全策略,生产环境中的服务器无法直接访问互联网,因此我们不能采用最直接的Docker镜像部署方法来安装RAGFLOW。然而,对于这种完全隔离的内网环境,我们参考了相关资料并制定了使用Docker实现离线部署的解决方案。以下是该过程的记录与总结。

        在纯内网环境中部署RAGFlow的基本思路是:首先,在一台能够连接互联网的机器上拉取所需的Docker镜像,然后将这些镜像导入到目标服务器中。此过程需要准备一台环境相同且可联网的服务器,或者在云端临时开一台,用于下载所有必要的依赖包。完成之后,将这些下载好的资源复制到离线服务器上进行部署。为了确保这一过程顺利进行,需要注意以下几点:

  • 确认两台服务器的操作系统和环境尽可能一致,以避免兼容性问题。
  • 在下载依赖时,请仔细检查每项依赖的要求,并确保它们适用于目标服务器的配置。
  • 使用可靠的传输方式将文件从联网机器转移到离线服务器,保证数据完整性和安全性。

通过上述步骤,我们可以有效地在内网环境中完成RAGFlow的部署工作。

1 环境准备

根据官方要求,部署ragflow需要以下配置,请确保生产环境服务器配置已经达到要求:

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

        准备一个与目标部署服务器操作系统相似的联网服务器,这里使用centos7操作系统的服务器,其他操作系统参考方式相似。

1.1 互联网服务器Docker及 Docker Compose环境安装

首先在联网环境的服务器上安装docker环境,包括Docker和Docker Compose,根据官方要求版本:Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1

Docker安装

(1) 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2

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

(2) 安装最新版本的 Docker CE(社区版):

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

(3)  启动 Docker 服务,并设置为开机自启:

运行以下命令验证 Docker 是否正常工作:

sudo systemctl start dockersudo systemctl enable docker

(4) 验证 Docker 是否安装成功

运行以下命令验证 Docker 是否正常工作:

sudo docker --version

如果安装成功,会显示类似以下输出: 

Docker version 20.10.x, build xxxxx

Docker Compose安装 

(1) 下载 Docker Compose 二进制文件

从 Docker 官方 GitHub 仓库下载最新版本的 Docker Compose(以 v2.21.0 为例,可根据需要替换为最新版本):

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

(2) 赋予执行权限

为下载的二进制文件赋予可执行权限:

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

(3) 验证 Docker Compose 是否安装成功

检查 Docker Compose 的版本:

docker-compose --version

如果安装成功,会显示类似以下输出: 

docker-compose version 2.21.0

1.2 内网服务器docker环境安装

内网服务器没有互联网环境,所以就需要借助联网的机器,在联网机器上,按照以下步骤下载 Docker 的 RPM 包及其依赖。

Docker下载

在互利网机器上使用 yumdownloader 工具下载Docker RPM

yum install -y yum-utilsyumdownloader --destdir=/home/docker-packages docker-ce docker-ce-cli containerd.io

Docker Compose下载

可以在联网服务器上直接使用命令下载

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

也可以直接到git下载对应的版本

https://github.com/docker/compose

Docker&Docker Compose安装

使用移动存储将联网下载的安装包拷贝到内网服务器上进行安装,安装完成后参考第1节内容,使用命令验证是否安装成功,若成功可直接进行下一步。

2 镜像下载

2.1 项目下载

使用联网服务器从RAGFlow的git仓库下载项目:

https://github.com/infiniflow/ragflow

2.2 镜像下载

下载后导航路径到项目的docker路径下,如果是CPU环境运行,执行一下命令:

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

如果是GPU的服务器使用可以执行以下命令:

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

记住以下镜像,一会打包需要

这里提供一下我用的镜像仓库

{\"registry-mirrors\": [\"https://hub.urlsa.us.kg\",\"https://hub.haod.eu.org\",\"http://hub-mirror.c.163.com\", \"https://docker.mirrors.ustc.edu.cn\",\"https://0dj0t5fb.mirror.aliyuncs.com\",\"https://6kx4zyno.mirror.aliyuncs.com\",\"http://hub.chxza.eu.org\",\"https://registry.docker-cn.com\"]}

2.3 镜像打包,将 Docker 镜像保存为 tar 包

下载完成后,应该包含以下镜像

需要使用 docker save 命令将RAGFlow依赖的镜像保存为单独的 tar 包。命令格式参考如下:

docker save -o [镜像名称].tar [镜像名称]:[标签]如:docker save -o images.tar infiniflow/ragflow:v0.15.10slim redis:7.2.4 quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z docker.elastic.co/elasticsearch/elasticsearch:8.11.3 mysql:8.0.39 valkey/valkey:8

也可以根据需要单独打包,参考如下,请根据实际下载的镜像名称和标签进行打包:

docker save -o es.tar docker.elastic.co/elasticsearch/elasticsearch:8.11.3docker save -o mysql.tar mysql:8.0.39docker save -o minio.tar quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Zdocker save -o redis.tar redis:7.2.4docker save -o ragflow.tar infiniflow/ragflow:v0.15.1-slimdocker save -o valkey.tar valkey/valkey:8

 3 内网服务器启动RAGFLOW

3.1 镜像传输

将打的tar 包复制到内网离线服务器;

3.2 在离线服务器上加载 Docker 镜像

由于已经在内网服务器安装好了docker镜像,直接使用 docker load 命令从 tar 包中加载 Docker 镜像

格式为:docker load -i [镜像名称].tar如:docker load -i images.tar

加载完成后可查看到打包前的images,使用以下命令查看:

docker images

3.3 启动

将项目Docker目录下的以下文件拷贝到内网服务器用于启动及配置RAGFlow,然后在内网服务器上导航到含有以下文件的目录,执行以下命令启动RAGFlow:

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