【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產品,大模型小白必看本地