在 Windows 环境,推荐WSL2 + Docker Desktop
- 启用 WSL2 子系统
- 安装 Docker Desktop for Windows
- 在 WSL2 中使用 Docker Compose 部署 Dify
- 优势:接近 Linux 原生体验,兼容性好
Dify 官方系统要求(2025-2026 最新版本):
| 环境类型 | CPU | 内存 | 磁盘空间 |
|---|---|---|---|
| 最低配置(测试环境) | 2 核 | 4GB | 20GB SSD |
| 推荐配置(生产环境) | 4 核 | 8GB | 50GB SSD |
推荐方案
✅ 推荐版本:Dify 1.7.x 或最新稳定版(v1.8+)
第一阶段:环境准备(约 15 分钟)
1. 启用 WSL2 功能
以管理员身份打开 PowerShell,依次执行:

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

powershell
# 重启电脑后,设置 WSL2 为默认版本
PS C:\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 尚未安装 或者没有已安装的发行版。
安装命令:
powershell
# 安装默认的 Ubuntu 发行版
wsl --install
# 或者指定安装 Ubuntu
wsl --install -d Ubuntu
安装完成后:
安装完成后需要重启计算机,然后再次运行:
powershell
# wsl --list --verbose 缩写
wsl -l -v
就可以查看已安装的发行版状态了。
2. 安装 Ubuntu 22.04 LTS
在 Microsoft Store 搜索并安装 Ubuntu 22.04 LTS,首次启动时设置用户名和密码。


验证 WSL 版本:
powershell
# 确保显示 VERSION 为 2
wsl --list --verbose
3. 安装 Docker Desktop
- 官网下载

- 安装时勾选 "Use WSL 2 instead of Hyper-V"
- 启动 Docker Desktop,进入设置:
- General: 勾选 "Use the WSL 2 based engine"
- Resources > WSL Integration: 启用 Ubuntu
- Resources: 分配 4-6GB内存给 Docker

第二阶段:Dify 部署(约 20 分钟)
1. 在 WSL2 中安装基础工具
打开 Ubuntu 终端:

powershell
# 更新软件源
sudo apt update && sudo apt upgrade -y
# 安装必要工具
sudo apt install -y git curl wget
2. 克隆 Dify 源码
powershell
# 创建工作目录
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. 配置文件(依次执行)
powershell
# 复制环境变量模板
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. 一键启动
powershell
# 首次启动(后台运行)
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:
powershell
{
"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:
powershell
sudo systemctl restart docker
2. 数据持久化备份
Dify 的数据存储在 Docker Volume 中,建议定期备份:
powershell
# 创建备份目录
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 混合存储,必须注意:
powershell
# 检查 Docker 数据存储位置
docker info | grep "Docker Root Dir"
# 确保 Docker 数据在 SSD 上(通常是 C 盘)
# 如果在 HDD 上,向量数据库检索会非常慢
建议:将 Dify 工作目录放在 SSD 分区(如 C:\Users\你的用户名\dify),通过 WSL2 挂载访问。
2. 团队访问配置
默认情况下 Dify 只监听 localhost,团队成员无法访问。需要:
方案 A:修改绑定地址
powershell
# 编辑 .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. 性能监控
建议监控资源使用:
powershell
# 查看容器资源占用
docker stats
# 查看 Dify 各服务状态
docker compose ps
部署检查清单
- WSL2 已启用且版本为 2
- Docker Desktop 已安装并配置 WSL2 集成
- Docker 分配内存 ≥4GB
- Dify 工作目录位于 SSD 分区
- .env 文件中 SECRET_KEY、DB_PASSWORD 已修改为随机值
- 防火墙已放行 8181 端口(或自定义端口)
- 所有容器状态为 Up(docker compose ps)
- 能正常访问 Web 界面并完成初始化