当前位置: 首页 > news >正文

WSL2 + Docker Desktop 部署 Dify

在 Windows 环境,推荐WSL2 + Docker Desktop

  • 启用 WSL2 子系统
  • 安装 Docker Desktop for Windows
  • 在 WSL2 中使用 Docker Compose 部署 Dify
  • 优势:接近 Linux 原生体验,兼容性好

Dify 官方系统要求(2025-2026 最新版本):

环境类型CPU内存磁盘空间
最低配置(测试环境)2 核4GB20GB SSD
推荐配置(生产环境)4 核8GB50GB SSD

推荐方案
✅ 推荐版本:Dify 1.7.x 或最新稳定版(v1.8+)

第一阶段:环境准备(约 15 分钟)

1. 启用 WSL2 功能

以管理员身份打开 PowerShell,依次执行:

# 启用 WSL 功能dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart# 启用虚拟机平台dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart

# 重启电脑后,设置 WSL2 为默认版本PSC:\Windows\system32> wsl--list--verbose 版权所有(c)Microsoft Corporation。保留所有权利。 用法: wsl.exe[Argument]参数:--install 安装适用于 Linux 的 Windows 子系统功能。如果未指定任何选项, 则推荐的功能将与默认分发一起安装。 若要查看默认分发以及其他有效分发的列表, 请使用"wsl --list --online"。 选项:--distribution、-d[Argument]按名称指定要下载和安装的分发。 参数: 有效的分发名称(不区分大小写)。 示例: wsl--install-d Ubuntu wsl--install--distribution Debian--inbox 安装可选 Windows 功能,而不是 Microsoft Store 中提供的版本。--no-distribution 不安装分发(无法和--distribution 一起使用)--no-launch,-n 安装后不启动发行版。--web-download 从 Internet 上下载最新的 WSL 版本,而不是从 Microsoft Store 下载。--list,-l[Options]列出发行版。 选项:--online,-o 显示可用的发行版列表,以使用'wsl --install'安装。--status 显示适用于 Linux 的 Windows 子系统的状态。--help 显示使用情况信息。

命令 wsl --list --verbose 没有返回预期的已安装发行版列表,而是显示了帮助信息。这表明WSL 可能尚未安装,或者命令执行有问题。从输出可以看出,WSL 命令返回了帮助信息而不是已安装的发行版列表,这表明 WSL 尚未安装 或者没有已安装的发行版。

安装命令:

# 安装默认的 Ubuntu 发行版wsl--install# 或者指定安装 Ubuntuwsl--install-d Ubuntu

安装完成后:
安装完成后需要重启计算机,然后再次运行:

# wsl --list --verbose 缩写wsl-l-v

就可以查看已安装的发行版状态了。

2. 安装 Ubuntu 22.04 LTS

在 Microsoft Store 搜索并安装 Ubuntu 22.04 LTS,首次启动时设置用户名和密码。

验证 WSL 版本:

# 确保显示 VERSION 为 2wsl--list--verbose

3. 安装 Docker Desktop

  1. 官网下载
  2. 安装时勾选 “Use WSL 2 instead of Hyper-V”
  3. 启动 Docker Desktop,进入设置:
  • General: 勾选 “Use the WSL 2 based engine”
  • Resources > WSL Integration: 启用 Ubuntu
  • Resources: 分配 4-6GB内存给 Docker

第二阶段:Dify 部署(约 20 分钟)

1. 在 WSL2 中安装基础工具

打开 Ubuntu 终端:

# 更新软件源sudo apt update && sudo apt upgrade-y# 安装必要工具sudo apt install-y git curl wget

2. 克隆 Dify 源码

# 创建工作目录mkdir-p ~/dify && cd ~/dify# 克隆官方仓库(建议使用最新 Release 版本)git clone https://github.com/langgenius/dify.git cd dify/docker# 或者切换到特定稳定版本(如 v1.8.0)# git checkout v1.8.0

3. 配置文件(依次执行)

# 复制环境变量模板cp.env.example.env# 生成安全密钥(重要!)SECRET_KEY=$(openssl rand-base64 42)DB_PASSWORD=$(openssl rand-hex 16)REDIS_PASSWORD=$(openssl rand-hex 16)# 使用 sed 替换关键配置sed-i"s/SECRET_KEY=/SECRET_KEY=$SECRET_KEY/".env sed-i"s/DB_PASSWORD=/DB_PASSWORD=$DB_PASSWORD/".env sed-i"s/REDIS_PASSWORD=/REDIS_PASSWORD=$REDIS_PASSWORD/".env# 可选:修改端口(如果 80 被占用)sed-i"s/EXPOSE_NGINX_PORT=80/EXPOSE_NGINX_PORT=8181/".env

4. 一键启动

# 首次启动(后台运行)docker compose up-d# 查看启动进度docker compose logs-f# 按 Ctrl+C 退出日志查看

首次启动需要下载约 10+ 个镜像,耗时 5-15 分钟(取决于网络)。

5. 访问 Dify

浏览器打开:http://localhost:端口(或自定义端口如http://localhost:8181)

首次访问会进入初始化向导,设置管理员账号即可。

第三阶段:优化配置(针对团队使用)

1. 配置国内镜像加速

编辑 /etc/docker/daemon.json:

{"registry-mirrors":["https://docker.m.daocloud.io","https://hub.rat.dev","https://mirror.ccs.tencentyun.com"],"log-driver":"json-file","log-opts":{"max-size":"100m","max-file":"3"}}

重启 Docker:

sudo systemctl restart docker

2. 数据持久化备份

Dify 的数据存储在 Docker Volume 中,建议定期备份:

# 创建备份目录mkdir-p ~/dify-backup# 备份 PostgreSQL 数据库docker exec dify-db pg_dump-U postgres-d dify > ~/dify-backup/dify-$(date+%Y%m%d).sql# 备份 .env 配置文件cp~/dify/docker/.env ~/dify-backup/.env-backup

⚠️ 关键注意事项

1. 存储优化(非常重要!)

如果配置有 SSD + HDD 混合存储,必须注意:

# 检查 Docker 数据存储位置docker info|grep"Docker Root Dir"# 确保 Docker 数据在 SSD 上(通常是 C 盘)# 如果在 HDD 上,向量数据库检索会非常慢

建议:将 Dify 工作目录放在 SSD 分区(如 C:\Users\你的用户名\dify),通过 WSL2 挂载访问。

2. 团队访问配置

默认情况下 Dify 只监听 localhost,团队成员无法访问。需要:

方案 A:修改绑定地址
# 编辑 .env 文件sed-i"s/CONSOLE_API_URL=http:\/\/localhost/CONSOLE_API_URL=http:\/\/你的局域网 IP/".env sed-i"s/SERVICE_API_URL=http:\/\/localhost/SERVICE_API_URL=http:\/\/你的局域网 IP/".env# 重启服务docker compose down docker compose up-d
方案 B:使用 Nginx 反向代理(推荐生产环境)

3. 性能监控

建议监控资源使用:

# 查看容器资源占用docker stats# 查看 Dify 各服务状态docker composeps

部署检查清单

  • WSL2 已启用且版本为 2
  • Docker Desktop 已安装并配置 WSL2 集成
  • Docker 分配内存 ≥4GB
  • Dify 工作目录位于 SSD 分区
  • .env 文件中 SECRET_KEY、DB_PASSWORD 已修改为随机值
  • 防火墙已放行 8181 端口(或自定义端口)
  • 所有容器状态为 Up(docker compose ps)
  • 能正常访问 Web 界面并完成初始化
http://www.jsqmd.com/news/585073/

相关文章:

  • 2026年评价高的生产线/江苏玉米淀粉生产线/江苏生产线主流厂家对比评测 - 行业平台推荐
  • Ostrakon-VL-8B多模态效果对比:不同光照/遮挡条件下店铺名识别准确率曲线
  • C++ 模板参数推断机制剖析
  • 2026年靠谱的玉米淀粉生产设备/江苏隧道烤炉生产设备批量采购厂家推荐 - 行业平台推荐
  • 船用防浪阀选购指南:国内优质厂商解析,船用舷侧阀/船用阀门附件/船用减压阀/船用空气管头/船舶配件,船用防浪阀品牌选哪家 - 品牌推荐师
  • Graphormer镜像免配置优势:Gradio UI自动适配移动端与触控交互
  • 立知-lychee-rerank-mm在VMware虚拟化环境中的部署
  • 效率翻倍!LiuJuan Z-Image多图批量生成攻略,一次产出N张创意作品
  • CLIP-GmP-ViT-L-14图文匹配工具实战落地:数字出版物图注自动生成质量评估
  • OCR文字识别镜像问题解决:常见部署错误与解决方法汇总
  • 2026年靠谱的隧道烘箱生产设备/江苏气流膨化生产设备/江苏隧道烤炉生产设备/成型糕点生产设备优质供应商推荐 - 行业平台推荐
  • MedGemma惊艳效果展示:看AI如何精准解读X光片与病理切片
  • Kandinsky-5.0-I2V-Lite-5s效果展示:C++高性能推理后端优化案例
  • 开箱即用!Qwen3-4B-Instruct-2507代码审计助手快速上手教程
  • OpenClaw+Phi-3-mini-128k-instruct内容处理实战:自动生成周报与格式整理
  • 开源鸿蒙赋能水务智能化,IPC3528水务鸿蒙网关
  • VideoAgentTrek-ScreenFilter技术解析:其底层人工智能模型架构与训练策略
  • Phi-3 Forest Laboratory智能助手:支持语音输入(Whisper)+文本输出闭环
  • 周云杰“听劝”,海尔智家估值“翻身”
  • Claude Code交互日志分析:用BERT分割理解AI编程助手的对话逻辑
  • LingBot-Depth问题解决:常见部署错误排查,从日志分析到成功运行
  • 洛谷 P1309 [NOIP 2011 普及组] 瑞士轮
  • Go Context 取消信号传播机制详解
  • FRCRN语音降噪效果实测:对比传统谱减法,信噪比提升30%+案例
  • EmbeddingGemma-300m场景应用:Ollama实现电商商品语义搜索
  • CRMEB Pro私域会员电商系统 v4.0正式发布,私域直播,边看边买!
  • 数据库课程设计新思路:集成SenseVoice-Small构建语音查询系统
  • 案例集锦:Face Analysis WebUI在不同光照、角度下的人脸分析效果对比
  • Qwen3-14B处理LSTM时间序列预测任务:模型构建与结果分析指南
  • OpenClaw硬件监控:Qwen3-14B实时预警电脑温度与磁盘空间