ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

如何丝滑部署Dify(Windows版)

如何丝滑部署Dify(Windows版) 最近想在本地部署一套 Dify用来体验 AI 应用编排、知识库、Agent 和工作流能力。我的环境是Windows WSL2 Ubuntu Docker Desktop。整体流程并不复杂但如果在国内网络环境下部署最容易卡在两个地方GitHub 源码下载失败Docker Hub 镜像拉取失败这篇文章记录一下我最终跑通 Dify 的过程以及踩坑后的稳定方案。一、部署环境我的环境如下基本可以无脑照搬指令Dify 官方推荐使用 Docker Compose 部署本质上就是拉取源码、复制环境变量文件、启动容器。操作系统Windows Linux 环境WSL2 Ubuntu 容器环境Docker Desktop 部署方式Docker Compose 项目Dify Community Edition二、准备 WSL2 和 Docker Desktop在 Windows 上部署 Dify推荐使用WSL2 Docker Desktop。WSL2 用来提供 Linux 环境Docker Desktop 用来运行 Dify 所需的容器服务。2.1检查是否开启虚拟化打开任务管理器快捷键 shiftctrlesc检查CPU是否已开启虚拟化若未开启则需进入 BIOS / UEFI 打开虚拟化选项。不同主板名字可能不同常见叫法有Intel VT-x Intel Virtualization Technology AMD-V SVM Mode Virtualization Technology注开启后保存并重启电脑。2.2 安装 WSL2在 powershell中运行下行代码安装完成后重启电脑。wsl --install重启后系统通常会自动打开 Ubuntu并提示创建 Linux 用户名和密码。这个用户名和密码只用于 WSL不一定要和 Windows 用户名一致。如果没有自动打开 Ubuntu可以在开始菜单搜索并手动打开。而后在powershell中继续执行版本检查wsl -l -v正常情况下的输出应该为NAME STATE VERSION Ubuntu Running 2若version为1则可以执行wsl --set-version Ubuntu 2如果你的发行版名称不是Ubuntu就把命令里的Ubuntu换成wsl -l -v显示的名称。2.3 安装 Docker Desktop进入 Docker Desktop 官网下载安装包下载windows版本正常安装即可https://www.docker.com/products/docker-desktop/若看到以下选项则需勾选若无则正常安装Use WSL 2 instead of Hyper-V安装完成后打开 Docker Desktop进入Settings - Resources - WSL Integration开启当前 Ubuntu 发行版的集成。修改后点击Apply Restart而后在powershell执行wsl --shutdown等待Docker重新配置好后再重新打开 Ubuntu分行输入检查 Docker 是否可用如果提示没有权限可以先用sudo执行 Docker 命令docker version docker compose version三、下载 Dify 源码正常情况下可以直接git clone --branch $(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name) https://github.com/langgenius/dify.git但我这里遇到了 GitHub 连接被重置的问题Recv failure: Connection reset by peer所以我改用 zip 下载源码稳定很多在Ubuntu里运行sudo apt update sudo apt install -y git curl jq unzip cd ~ rm -rf dify dify-latest.zip langgenius-dify-* tag$(curl -sL https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name) echo $tag curl -L -o dify-latest.zip https://api.github.com/repos/langgenius/dify/zipball/$tag unzip dify-latest.zip mv langgenius-dify-* dify cd dify/docker cp .env.example .env四、配置 Docker 国内镜像源国内部署最容易卡在 Docker Hub比如failed to resolve reference docker.io/... dial tcp registry-1.docker.io:443网上有很多解决办法比如配置镜像源配置示例{ registry-mirrors: [ https://docker.1ms.run, https://docker-0.unsee.tech, https://docker.xuanyuan.me ], dns: [223.5.5.5, 119.29.29.29, 8.8.8.8], max-concurrent-downloads: 1, max-download-attempts: 10 }这里我额外设置了max-concurrent-downloads: 1这是由于因为某些大镜像比如langgenius/dify-api层比较多、体积较大并发下载反而容易卡住。降低并发后会慢一点但成功率更高。完成上述修改后点击Apply Restart依旧wsl --shutdown五、启动 Dify进入 Dify 的 Docker 目录cd ~/dify/docker sudo docker compose up -d如果镜像拉取成功会看到类似Image langgenius/dify-web Pulled Image langgenius/dify-api Pulled Image redis Pulled Image postgres Pulled Image nginx Pulled如果只有某个镜像卡住可以单独拉取例如sudo docker pull langgenius/dify-api:1.14.2如果官方源仍然卡住可以使用镜像源前缀拉取后重新打标签sudo docker pull docker.1ms.run/langgenius/dify-api:1.14.2 sudo docker tag docker.1ms.run/langgenius/dify-api:1.14.2 langgenius/dify-api:1.14.2然后重新启动cd ~/dify/docker sudo docker compose up -d六、查看服务状态启动后查看容器状态sudo docker compose ps如果服务状态是Up或healthy说明基本启动成功。查看日志可以用sudo docker compose logs --tail80 nginx sudo docker compose logs --tail80 api七、访问 Dify初始化管理员账号在浏览器网址栏输入http://localhost/install以后的正常访问则只需要输入http://localhost八、总结部署最大的坑不在 Dify而在网络环境。如果你在 Windows 本机部署 Dify这套路线还是很稳定的用来本地体验工作流、知识库和 AI 应用开发非常方便。Windows WSL2 Ubuntu Docker Desktop Dify zip 源码 国内 Docker 镜像源刚刚起步希望各位大佬多多指教。
返回列表