【AIGC】Win10系统极速部署Docker+Ragflow+Dify


本文主要介绍如何部署Docker+Ragflow+Dify。查看构建知识库方法点此传送
请注意,Ragflow和Dify可能有端口重合的情况,建议分不同主机部署。
为了方便大家无需魔法即可获取教程中需要的zip文件(失效请私信呼叫我)。
已整理安装包/git全家桶(其中含本文需要的Ragflow+Dify+Ollama(2025/3/21更新)

https://download.youkuaiyun.com/download/qq_35079107/90519660

一、 Docker快速部署

1.F2进入bios界面,按F7设置开启VMX虚拟化技术。保存并退出。

(注意,不同机型的按键不同,示例是华硕按键,具体可以询问AI如何进入BIOS界面)
在这里插入图片描述
在这里插入图片描述

2.打开控制面板配置开启服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.到官网下载docker安装包,一键安装(全部默认勾选)

https://www.docker.com/
安装完成后可以注册登录或者跳过。
在这里插入图片描述

二、 RagFlow快速部署

1.确定内存空间和环境

(1)确保Docker≥24.0.0、Docker Compose≥v2.26.1

Docker是容器化的基础工具,适合管理单个容器。 Docker Compose是 Docker
的扩展工具,适合管理多容器应用,简化了复杂应用的部署和测试。

(2)确保C盘 空间满足50G左右(可以用腾讯软件管家或者360清理一下)
(3)启动docker时要右键以管理员权限启动,否则可能存在权限问题。
(4)WSL2环境检查

WSL2基于Hyper-V虚拟化技术,运行轻量级虚拟机,内置微软定制的完整Linux内核(如5.15.x版本),直接支持Linux系统调用。与传统虚拟机(如VMware)相比,WSL2无需独立管理虚拟机,资源占用更少(内存按需分配),启动速度更快(秒级启动)

检查WSL环境的方法:打开CMD命令提示符,输入WSL --list
在这里插入图片描述
如果没有这个环境见文章第四节安装一下。

2.获取ragflow镜像:

https://github.com/infiniflow/ragflow
下载zip安装包,解压。
或者使用git拉取项目地址,通过命令行拉取代码。

在这里插入图片描述
找到docker文件夹。

3.解决ragflow和dify会端口和工具冲突!!!!

修改端口:
打开docker-compose.yml
修改端口,例如:
80改成8088,或者改成${WEB PORT};(读.env配置)
443改成4343
在这里插入图片描述

将redis名称替换成ragflow-redis以作区分。
在这里插入图片描述
.env文件 参考下面的修改。把redis_port 改成一个新的端口号,例如7379
在这里插入图片描述

4.拉取镜像

shift+右键打开shell
在这里插入图片描述
输入以下命令,等待安装完成(需要梯子,如果没有请更换国内镜像,详见第四章)。
一键安装ragflow

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

(备用)一键安装ragflow环境

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

在这里插入图片描述
最后出来5个镜像,如果不全,或者安装长时间没有动静,考虑是安装出错有漏,可以重新执行命令直到docker内内容完整。
在这里插入图片描述

5.勾选服务点击启动

在这里插入图片描述

三、 Dify快速部署

直接找到官方文档,推荐使用docker compose或者本地源码启动。
如果是linux服务器可以考虑宝塔面板部署。
https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/local-source-code
在这里插入图片描述

可以到github上拷贝源码zip下来。然后按官方步骤就可以。

四、错误排查

1.ragflow打开异常

如果存在问题,查看docker日志。

docker logs ragflow

检查环境变量或端口占用问题。
在这里插入图片描述
在这里插入图片描述
可能是IIS托管了页面占用80端口 需要手动处理。

2.WSL无法更新问题

在这里插入图片描述

如果发现是因为没有WSL,在应用市场找到并安装WSL
在这里插入图片描述期间如果Microsoft store崩溃,可能要修复Microsoft store以安装Linux环境
右键Microsoft store打开应用设置
在这里插入图片描述

如果是因为WSL版本太旧,查看这个方案
需要到windows更新设置里配置。
在这里插入图片描述
如果无法启用,则win+R ,找到gpedit.msc
计算机配置 > 管理模板 > Windows组件 > Windows更新 > 配置自动更新>启用
在这里插入图片描述
重新输入指令更新WSL。

3.ragflow闪退卡死的问题

官方推荐参数是vm.max_map_count=262144,最好能改大一些。

4.如果没有梯子,需要更换镜像源!!!

修改 Docker 配置文件
双击右侧修改
在这里插入图片描述
在这里插入图片描述

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://docker.nju.edu.cn",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "https://registry.cn-hangzhou.aliyuncs.com"
  ]
}

或者通过.env文件修改镜像源
在这里插入图片描述
建议不要装slim版本。
修改镜像地址:

RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v01.17.2

5.端口占用

检查相关端口(如80端口)是否被占用,IIS可能会占用80端口,需要解决端口冲突

  1. 查看所有端口占用
netstat -ano 

-a显示所有连接和监听端口,-n以数字形式显示地址和端口,-o显示进程PID。
2. 查找指定端口(如80)的占用进程

netstat -ano | findstr :80

输出结果最后一列为进程PID。
3. 根据PID定位进程名称

tasklist | findstr <PID>`

例如:tasklist | findstr 1008
4. 结束占用进程

taskkill /PID <PID> /F

/F表示强制终止进程。

6.系统兼容性问题

本教程是Win10适配,如果是winserver 建议直接装VMware然后安装一个ubantu镜像。
ubantu系统安装参见第五章第三篇推荐文章。一定要注意执行拉取的指令不同:

$ cd ragflow/docker
$ chmod +x ./entrypoint.sh
$ docker compose up -d

五、推荐参考

1.从零开始,小白在windows部署deepseek与dify
2.B站强推!10分钟快速上手部署RAGFlow,本地知识库搭建神器,搭建你的专属AI产品,大模型小白必看本地
3.在ubuntu22.04上部署RagFlow一个深度文档理解的开源 RAG
https://blog.youkuaiyun.com/chengxuquan/article/details/141442113?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522b0c7bd487fcd777a2f42cbcbd1c26bd1%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=b0c7bd487fcd777a2f42cbcbd1c26bd1&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-141442113-null-null.142v102pc_search_result_base3&utm_term=ragflow%E5%9C%A8ubantu%E9%83%A8%E7%BD%B2&spm=1018.2226.3001.4187

<think>好的,我现在需要解决如何同时部署RAGFlowDify这两个工具的问题。首先,用户提到在部署时遇到了Redis容器的冲突,以及端口冲突的问题。根据提供的引用内容,我需要整理出具体的解决步骤。 首先,端口冲突是常见的问题。引用[3]中提到,将RAGFlow的默认端口从80改为8880,这样可以避免Dify的默认端口冲突。我需要确认Dify的默认端口是什么,假设是80或者另一个常用端口,所以需要调整其中一个的端口设置。用户可能需要修改docker-compose.yml文件中的端口映射部分,比如将宿主机的8880映射到RAGFlow容器的80端口。 接下来是Redis容器冲突的问题。引用[2]指出,通过设置独立的项目名称、调整网络配置,可以让两者的Redis容器并行运行。这可能涉及到在docker-compose中使用不同的项目名称,或者为每个服务指定不同的网络,确保它们的Redis实例不冲突。例如,在Docker Compose中,每个项目默认会创建一个独立的网络,但如果有自定义网络配置,需要调整。 然后,可能需要分别部署RAGFlowDify到不同的Docker Compose项目中,使用不同的项目名称,这样它们的容器就不会互相干扰。例如,使用docker-compose -p ragflow up -d和docker-compose -p dify up -d来启动两个独立项目,这样它们的服务名称和网络都会隔离。 另外,检查两者的依赖服务,比如除了Redis之外,是否还有其他可能冲突的组件,比如数据库或其他服务,如果有的话,也需要进行相应的端口或名称调整。例如,如果两者都使用PostgreSQL,可能需要修改其中一个的端口配置,或者使用不同的数据库实例。 最后,确保用户按照步骤操作后,能够通过不同的端口访问这两个应用,比如RAGFlow通过8880,Dify通过原来的端口,如80或另一个端口。同时,确认它们的Redis和数据库实例独立运行,不会互相影响稳定性。 可能还需要提醒用户检查Docker的日志,确认是否有其他未预料到的冲突,并确保系统资源足够同时运行这两个应用。另外,备份原有的docker-compose文件,避免配置错误导致的问题。</think>要同时部署RAGFlowDify,需解决端口冲突和Redis容器冲突问题。以下是分步解决方案: ### 步骤1:调整RAGFlow的默认端口 1. **修改RAGFlow的`docker-compose.yml`文件** 进入RAGFlow项目目录(如`ragflow-main/docker`),找到`docker-compose.yml`,将端口映射从默认的`80:80`改为`8880:80`: ```yaml ports: - "8880:80" ``` 这使RAGFlow通过宿主的8880端口访问,避免Dify的默认端口冲突[^3]。 ### 步骤2:隔离Redis容器 1. **为每个项目指定独立网络和容器命名** 在RAGFlowDify的`docker-compose.yml`中,分别定义专属网络和Redis容器名称。例如,在RAGFlow的配置中添加: ```yaml networks: ragflow_net: driver: bridge services: redis: container_name: ragflow_redis networks: - ragflow_net ``` Dify的配置同理使用`dify_net`和`dify_redis`,确保两者Redis实例独立运行[^2]。 ### 步骤3:分项目部署 1. **使用不同项目名称启动容器** 在终端中分别执行以下命令,通过`-p`参数指定独立项目名称: ```bash # 部署RAGFlow cd ragflow-main/docker docker-compose -p ragflow up -d # 部署Dify cd dify-main/docker docker-compose -p dify up -d ``` 这会将两个项目的容器组隔离,避免命名冲突[^2]。 ### 步骤4:验证服务状态 1. **检查端口占用和容器运行状态** 运行`docker ps`确认两个项目的容器均正常启动,且端口映射正确: - RAGFlow应监听8880端口 - Dify默认端口(如80或自定义端口)未被占用 2. **测试服务访问** 通过浏览器访问`http://<宿主机IP>:8880`(RAGFlow)和`http://<宿主机IP>:<Dify端口>`,确保两者均能正常响应。 ### 补充说明 - **资源分配**:若宿主机资源紧张,可在`docker-compose.yml`中为容器配置CPU和内存限制,例如: ```yaml deploy: resources: limits: cpus: '1.0' memory: 2G ``` - **数据持久化**:确保两者的Redis和数据库配置了独立卷(volume),防止数据覆盖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

灵境引路人

感谢投喂 ~ ❤

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

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

打赏作者

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

抵扣说明:

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

余额充值