【AIGC】WIN10仅3步部署Docker+Ragflow+Dify
- 一、 Docker快速部署
- 1.F2进入bios界面,按F7设置开启VMX虚拟化技术。保存并退出。
- 2.打开控制面板配置开启服务
- 3.到官网下载docker安装包,一键安装(全部默认勾选)
- 二、 RagFlow快速部署
- 1.确定内存空间和环境
- 2.获取ragflow镜像:
- 3.勾选服务点击启动
- 三、 Dify快速部署
- 端口冲突问题
- 四、错误排查
- 1.ragflow打开异常
- 2.WSL无法更新问题
- 3.ragflow闪退卡死的问题
- 4.如果没有梯子,需要更换镜像源
- 5.端口占用
- 五、推荐参考
本文主要介绍如何部署Docker+Ragflow+Dify。
请注意,Ragflow和Dify可能有端口重合的情况,建议分不同主机部署。
一、 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文件夹,shift+右键打开shell
输入以下命令,等待安装完成(需要梯子,如果没有请更换国内镜像,详见第四章)。
一键安装ragflow
docker compose -f docker-compose.yml up -d
(备用)一键安装ragflow环境
docker compose -f docker-compose-base.yml up -d
最后出来5个镜像,如果不全,或者安装长时间没有动静,考虑是安装出错有漏,可以重新执行命令直到docker内内容完整。
3.勾选服务点击启动
三、 Dify快速部署
直接找到官方文档,推荐使用docker compose或者本地源码启动。
如果是linux服务器可以考虑宝塔面板部署。
https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/local-source-code
可以到github上拷贝源码zip下来。然后按官方步骤就可以。
端口冲突问题
注意!ragflow和dify会有端口冲突,所以安装dify时建议替换两个端口,例如:
80
改成801
;443
改成4430
四、错误排查
1.ragflow打开异常
如果存在问题,查看docker日志。
docker logs ragflow
检查环境变量或端口占用问题。
可能是IIS托管了页面占用80端口 需要手动处理。
2.WSL无法更新问题
如果发现是因为没有WSL,找到Linux系统,安装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"]
}
5.端口占用
检查相关端口(如80端口)是否被占用,IIS可能会占用80端口,需要解决端口冲突
- 查看所有端口占用
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
表示强制终止进程。
五、推荐参考
1.从零开始,小白在windows部署deepseek与dify
2.B站强推!10分钟快速上手部署RAGFlow,本地知识库搭建神器,搭建你的专属AI产品,大模型小白必看本地