Dify Windows Docker Desktop 部署文档
适用:Windows10/11,使用 Docker Desktop + WSL2 后端,不建议直接 windows 原生,必须开启 WSL2
最低配置:内存 ≥8G,推荐 16G;磁盘预留 40G 以上空间
一、前置准备
1. 开启 WSL2
以管理员身份打开 PowerShell
wsl --install
执行完成后重启电脑。
确认 WSL 版本
wsl --list --verbose
默认版本应为 VERSION 2。
2. 安装 Docker Desktop for Windows
- 下载:https://www.docker.com/products/docker-desktop/
- 安装时务必勾选:Use WSL 2 instead of Hyper‑V
- 安装完成启动 Docker Desktop,右下角图标绿色代表正常运行
- 开启设置 → Resources → WSL Integration,启用
Ubuntu子系统集成
3. 安装 Git for Windows
下载安装 Git:https://git-scm.com/download/win
安装全部默认选项即可。
检查工具,打开 Git Bash
git --version
docker --version
docker compose version
二、下载 Dify 源码
推荐在非中文路径,例如
D:\dev,路径不要带中文、空格
打开 Git Bash
# 进入D盘dev目录
cd /d/dev
git clone https://github.com/langgenius/dify.git
cd dify/docker
GitHub 下载慢:手动下载 zip 解压到 D:\dev\dify,再进入 dify/docker 文件夹
三、配置环境变量 .env
复制模板文件
cp .env.example .env
用记事本 / VS Code 打开 .env 文件编辑
Windows 关键配置
# Windows本地浏览器访问地址
WEB_API_URL=http://localhost
WEB_URL=http://localhost
# 数据库密码,可以修改
POSTGRES_PASSWORD=dify@Win123456
# Redis密码
REDIS_PASSWORD=redis@Win123456
# 生产务必更换随机密钥,openssl rand -hex 16生成
SECRET_KEY=replace-this-with-your-random-key
# 文件存储类型,windows本地用local
STORAGE_TYPE=local
生成 SECRET_KEY(Git Bash 执行)
openssl rand -hex 16
把输出字符串替换上面 SECRET_KEY 值。
⚠️不要使用记事本直接另存为,避免编码换行符异常,优先 VS Code 编辑。
四、启动 Dify 服务
在 dify/docker 目录,Git Bash 执行
# 拉取镜像
docker compose pull
# 后台启动容器
docker compose up -d
查看容器状态
docker compose ps
所有容器状态为 Up 代表启动成功。
✅首次部署执行数据库初始化(必做)
docker compose exec api flask db upgrade
五、访问 Dify 平台
浏览器访问:http://localhost
默认端口 80,如果 80 被占用:修改
docker-compose.yamlweb 服务端口映射8080:80,访问http://localhost:8080
首次进入页面,设置管理员邮箱与密码。
六、Windows 对接本地 Ollama
Ollama 安装在 Windows 宿主机,Dify 运行在 Docker 容器内部,容器访问宿主机用
host.docker.internal
- Windows Ollama 设置允许外部访问
- Win 搜索服务,找到 Ollama Service → 属性
- 或者设置系统环境变量:
OLLAMA_HOST=0.0.0.0,重启 Ollama 服务
-
Dify 后台模型供应商 Ollama 填写端点
测试连通,在 Git Bash 测试容器内访问 ollama
docker compose exec api curl http://host.docker.internal:11434/api/tags
七、Windows 常用运维命令(Git Bash 执行)
# 查看实时日志
docker compose logs -f api
docker compose logs -f web
# 停止服务,保留数据
docker compose down
# 停止并删除全部数据卷【危险,所有数据清空】
docker compose down -v
# Dify版本升级
cd /d/dev/dify/docker
git pull
docker compose pull
docker compose up -d
# 升级后执行数据库迁移
docker compose exec api flask db upgrade
Windows 数据库备份
docker compose exec -T db pg_dump -U postgres dify > ./dify_win_backup.sql
八、常见踩坑(Windows 特有)
- 容器启动报错权限 / 路径问题
不要放在中文路径;Docker Desktop 设置开启 WSL2 后端;不要放在 Windows OneDrive 同步文件夹。
- 网页打不开,连接拒绝
- 确认 Docker Desktop 正在运行;所有容器状态 Up;检查
.envWEB_URL 地址。 - 80 端口被占用:修改 web 端口映射为 8080。
- Ollama 调用不通
- 确认 Ollama 环境变量 OLLAMA_HOST=0.0.0.0,重启 Ollama;
- 优先使用
host.docker.internal:11434,不要写 127.0.0.1(容器内部指向自己,不是 Windows 主机)。
- flask db upgrade 执行失败
api 容器还没完全启动完成,等待 30 秒后再执行命令。
- 文件上传失败
volumes 目录需要 Docker Desktop 读写权限,不要放在受保护系统目录。
九、Windows 生产注意
- Windows 仅适合体验、测试;正式长期使用建议 Linux 服务器部署。
- Docker Desktop 关闭电脑休眠会丢失服务,建议 WSL 设置开机自启。
- 定期备份
dify_win_backup.sql。
目录说明
dify/docker
├─ docker-compose.yaml # 编排文件
├─ .env # 环境配置
└─ volumes # 持久化数据,数据库、上传文件