找回密码
 立即注册
首页 业界区 安全 CentOS Docker部署Ragflow并绑定Dify

CentOS Docker部署Ragflow并绑定Dify

济曝喊 2025-7-11 16:43:13
在公司部署了一遍Ragflow,将部署过程及相关经验分享给大家瞧瞧

  • 通过 ping,发现无网络,联系同事开通;
    1.png

  • 通过 deepseek,搜索 centos 安装 docker,开始逐步执行。第一句执行
    1. `sudo yum install -y yum-utils   # 安装必要工具(yum-utils提供yum-config-manager)
    复制代码
    报错如图
    2.png

  • DS (Deepseek,后同) 认为是 DNS 问题,尝试ping 8.8.8.8,通,ping mirrorlist.centos.org,提示未知的名称或服务,则需配置 DNS;
  • 计划先安装 Vim,方便编辑各类配置文件;执行sudo yum install -y vim-enhanced,发现还是 2 中的问题,发觉得先搞定 DNS 和源,后续下载才好使。
  • 配置 DNS
    1. echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    2. echo "nameserver 114.114.114.114" | sudo tee -a /etc/resolv.conf
    复制代码
    之后测试,百度已通
    3.png

    执行完后依然 2 中报错,则考虑配置源,GPT 建议执行如下命令
    1. sudo sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo
    2. sudo sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo
    复制代码
    再执行
    1. yum clean all
    2. yum makecache
    复制代码
    有效,无报错
  • 继续尝试安装 vim,咨询 DS,执行如下命令
    1. sudo yum install -y vim
    2. vim --version
    复制代码
    4.png

    Vim 安装无误。
  • 回到 2,继续尝试安装 docker,咨询 gpt
    1. 安装依赖
    2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    3. 添加 Docker 官方 YUM 源
    4. sudo yum-config-manager
    5. --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    6. 安装docker
    7. sudo yum install -y docker-ce docker-ce-cli containerd.io
    复制代码
    安装 docker 时报错,信息如下
    5.png

    询问 gpt,提供了 4 种解决方案,决定使用“使用阿里云 Docker 源”方案
    1. 四句命令,逐个执行
    2. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    3. sudo yum clean all
    4. sudo yum makecache
    5. sudo yum install -y docker-ce docker-ce-cli containerd.io
    复制代码
    无报错,docker 安装成功
    1. 启动并设置开机自启
    2. sudo systemctl start docker
    3. sudo systemctl enable docker
    4. 检查是否运行成功
    5. sudo systemctl status docker
    复制代码
    6.png
    1. 运行测试命令
    2. sudo docker run hello-world
    复制代码
    报错如下
    7.png

    此问题此前见到过,此时应给 docker 换源,问 gtp 操作步骤
    1. vim /etc/docker/daemon.json
    复制代码
    按 i 进入编辑模式,将如下源整体覆盖进去
    1.         {
    2.    "registry-mirrors": ["https://mkoo7bej.mirror.aliyuncs.com",
    3.                           "https://docker.m.daocloud.io",
    4.            "https://hub-mirror.c.163.com",
    5.            "https://mirror.baidubce.com",
    6.            "https://your_preferred_mirror",
    7.            "https://dockerhub.icu",
    8.            "https://docker.registry.cyou",
    9.            "https://docker-cf.registry.cyou",
    10.            "https://dockercf.jsdelivr.fyi",
    11.            "https://docker.jsdelivr.fyi",
    12.            "https://dockertest.jsdelivr.fyi",
    13.            "https://mirror.aliyuncs.com",
    14.            "https://dockerproxy.com",
    15.            "https://mirror.baidubce.com",
    16.            "https://docker.m.daocloud.io",
    17.            "https://docker.nju.edu.cn",
    18.            "https://docker.mirrors.sjtug.sjtu.edu.cn",
    19.            "https://docker.mirrors.ustc.edu.cn",
    20.            "https://mirror.iscas.ac.cn",
    21.            "https://docker.rainbond.cc"
    22.                        ]
    23. }
    复制代码
    按 esc,退出编辑模式,之后输入如下命令后回车
    1. 保存并退出
    2. :wq
    复制代码
    重启 docker
    1. sudo systemctl daemon-reload
    2. sudo systemctl restart docker
    复制代码
    再次执行运行测试命令        sudo docker run hello-world命令,结果如下,已正常
    8.png

  • 开始尝试部署 ragflow,询问 gpt,按步骤执行
    1. ### 安装 Docker Compose,Docker Compose 用于编排多容器部署
    2. sudo curl -L                  "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    3. sudo chmod +x /usr/local/bin/docker-compose
    4. 执行git clone 克隆源码
    5. git clone https://github.com/infiniflow/ragflow.git
    复制代码
    提示未找到 git 命名,则开始安装 git,询问 gpt
    1. 更新现有软件包
    2. sudo yum update
    3. 使用yum安装git
    4. sudo yum install -y git
    复制代码
    9.png

    验证安装,安装成功
    10.png

    重新执行 git clone
    1. git clone https://github.com/infiniflow/ragflow.git
    复制代码
    执行完毕,无报错
    11.png

    Gpt 提示应该会有一个docker-compose.yml 文件,但未找到,故决定换 gpt 提供的另一个方案
    执行删除命令
    12.png
    1. 直接拉取预构建镜像
    2. docker pull your_dockerhub_account/ragflow:latest
    复制代码
    报错
    13.png

    发现自己粗心,直接使用了“your_dockerhub_account/ragflow: latest”。则 google 进入 docker hub,搜索 ragflow,找到如下内容
    14.png

    使用其提供的命令尝试
    1. docker pull infiniflow/ragflow
    复制代码
    15.png

    执行失败
    16.png

    决定重启 centos 试试
    1. sudo shutdown -r now
    复制代码
    再次拉取,依然报错
    17.png

    询问 gpt,执行如下命令,通
    1. ping -c 4 8.8.8.8
    复制代码
    执行如下命令,不通
    1. curl -v https://registry-1.docker.io/v2/
    复制代码
    尝试给源种添加了" https://registry.docker-cn.com" ," https://mirror.ccs.tencentyun.com" ,再拉,依然不行。决定重新搜索另一个方案的执行步骤
    1. git clone https://github.com/infiniflow/ragflow.git
    复制代码
    同样失败... 先下班了 03201927
    参照之前 clone 成功时的操作,从此处重新配置源,再次 git clone,成功无误
    18.png

  • 配置 ragflow
    参考此篇文章 [[https://mp.weixin.qq.com/s?__biz=Mzg4ODQ1NTE2Mg==&mid=2247571143&idx=1&sn=e081d898c08b19b3384591ecc7207038&chksm=cee117cdbca93b8e9a23eed10d9adc25351dc38348528b34d93d2e6f1ed6b5a7d8934eb1ae0f&scene=27|点击链接]]
    1. 进入ragflow/docker目录
    2. cd ragflow/docker
    3. docker compose -f docker-compose.yml up -d
    复制代码
    报错,似乎是超时导致,询问 gpt,考虑加长握手时间
    19.png
    1. 临时延长连接时间至600秒,重启后失效
    2. sudo sysctl -w net.ipv4.tcp_keepalive_time=600 # 保持连接时间(秒)
    3. 再拉时没进度,重启下docker
    4. sudo systemctl restart docker
    复制代码
    依然出现上述错误
    再拉,ragflow 拉取成功,minio 没动静,失败
    20.png

    再拉,minio 依旧无响应,决定查看一下 docker-compose. Yml 重对此部分的描述
    1. vim docker-compose.yml
    复制代码
    未读明白,退出后再拉,有响应,但报错,错误如下
    21.png

    检查 mysql
    1. docker compose logs ragflow-mysql
    复制代码
    22.png

    根据百度搜索此报错,搜到如下操作步骤
    1. docker compose down -v
    2. docker compose up
    复制代码
    执行后新的报错如下
    23.png

    提示有冲突,用此问题咨询 DS,经过几项操作,未果
    决定重启 centos 试试
    1. sudo reboot
    复制代码
    再试,不成功,百度,被建议查日志
    1. docker logs ragflow-mysql
    复制代码
    24.png

    提示 CPU does not support x 86-64-v 2
    搜索此问题,在 github 上找到类似描述 [[https://github.com/infiniflow/ragflow/issues/329|点击链接]]
    25.png

    按照建议进行配置,无效果
    后在 CSDN 找到此文章[[https://blog.csdn.net/weixin_62828995/article/details/145921395|点击链接]],按照建议进行配置
    1. 清理旧的mysql镜像
    2. docker stop ragflow-mysql
    3. docker rm ragflow-mysql
    4. 此处需要写自己安装的版本,我用的8.0,则写8.0
    5. docker rmi mysql:8.0.39
    6. 在docker-compose.yml文件中再次降低mysql版本,我修改为如下
    7. mysql:
    8.         image: mysql:5.7
    9. 同时被建议修改minio,降低版本,做如下修改
    10. minio:
    11.         image: quay.io/minio/minio:RELEASE.2023-04-28T18-11-17Z # minio:RELEASE.2023-12-20T01-00-02Z
    复制代码
    26.png

    再次执行
    1. docker compose -f docker-compose.yml up -d
    复制代码
    成功,结果如下
    27.png

    自此环境搭建完毕,确认服务器状态
    1. docker logs --tail 100 -f ragflow-server
    复制代码
    结果如下:
    28.png

    29.png

    30.png

  • 将 ragflow 配置到10.255.53.81 的 dify 上
    1. ping 10.255.53.81
    复制代码
    31.png

    可访问
    寻找同事,开通可访问 ragflow 的堡垒机,访问界面如下
    32.png

    配置模型
    33.png

    Deepseek 挂载不成功,一直在转圈
    34.png

    先搁置挂载 deepseek,尝试通过 api 的形式将 ragflow 知识库发布至 dify,参考[[https://mp.weixin.qq.com/s/ohjvwOxP-txiuLwKlxuQsw |点击链接]]
    发布并对接成功
    35.png


来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册