Dify

image

1.按键盘 Win 键
输入 WSL

但现在进去的是 docker-desktop,这不是你平时拿来开发的 Ubuntu,而是 Docker Desktop 自己用的内部 WSL 发行版。你之所以会进去它,是因为 wsl 会默认打开“当前默认发行版”。

在 PowerShell 里输入:wsl -l -v

可能出现两种情况:

第一种:列表里有 Ubuntu
那你直接进 Ubuntu:
wsl -d Ubuntu

或者把 Ubuntu 设成默认,以后直接输 wsl 就进 Ubuntu:
wsl --set-default Ubuntu

第二种:列表里没有 Ubuntu,只有 docker-desktop 和 docker-desktop-data
那说明你还没装一个真正给你自己用的 Linux 发行版。可以直接安装 Ubuntu:
wsl --install -d Ubuntu

装完之后,重新打开 Ubuntu,第一次会让你设置:
Linux 用户名
Linux 密码

创建完以后,建议你再做两步

  1. 把 Ubuntu 设成默认 WSL
    回到 PowerShell 执行:
    wsl --set-default Ubuntu
    这样以后输入 wsl,就直接进 Ubuntu,不会再进 docker-desktop。

  2. 以后打开 Ubuntu
    可以直接用:
    wsl -d Ubuntu
    或者开始菜单里点 Ubuntu。

然后就报错了
image

接下来关了命令行,重新打开powershell:
wsl -d Ubuntu
wsl --set-default Ubuntu
image
这样就是正确的,然后

先查看 wsl.conf 内容:
cat /etc/wsl.conf
image

先检查代理
在 Ubuntu 里执行:
env | grep -i proxy

如果 env | grep -i proxy 有输出
比如出现这些:
HTTP_PROXY=...
HTTPS_PROXY=...
ALL_PROXY=...
里面带 127.0.0.1 或 localhost
那就先临时清掉:
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY

然后回到 PowerShell 执行:
wsl --shutdown

再重新打开:
Ubuntu
Docker Desktop
再试 Docker 的 WSL Integration。

如果 env | grep -i proxy 没有任何输出
那下一步就建议你先把 systemd 关掉试一下。因为 Dify 本地部署并不需要 systemd,而 Docker Desktop 的 Ubuntu 集成有时会被它影响。
执行:
sudo nano /etc/wsl.conf
把内容改成只保留这个:
[user]
default=zhao2
也就是把这一段删掉:
[boot]
systemd=true

保存退出后,回到 PowerShell 执行:
wsl --shutdown
然后重新打开 Ubuntu 和 Docker Desktop,再试一次集成。

我这里是没有结果
image
按这个做:
先关闭 Ubuntu 终端和 Docker Desktop。
在 PowerShell 里输入这条,打开或创建 .wslconfig:
notepad $env:USERPROFILE.wslconfig
把内容改成下面这样后保存:
[wsl2]
autoProxy=false
.wslconfig 是 WSL 2 的全局配置文件,放在 %UserProfile% 下;改完后需要 wsl --shutdown 才会生效。

回到 PowerShell,执行:
wsl --shutdown
重新打开 Docker Desktop。
再去 Docker Desktop 的 Settings → Resources → WSL Integration,把 Ubuntu 打开试一次。

成功之后,在 PowerShell 里输入:
wsl -d Ubuntu
进去后再输入这两条:
docker --version
docker ps
image

现在的状态就是:
Docker Desktop 安装成功 + WSL Ubuntu 可用 + Ubuntu 里可以直接操作 Docker

2.然后就是部署Dify:
你现在先别停在这个目录:
/mnt/c/Windows/system32

在 Windows + WSL 场景下,Dify 文档建议把绑定到 Linux 容器的源码和数据放在 Linux 文件系统 里,不要放在 Windows 文件系统里。Dify 官方的 Docker Compose 快速开始流程也是:进入 docker 目录,复制 .env.example 为 .env,再执行 docker compose up -d。

你现在在 Ubuntu 里按顺序输入下面这些命令:
cd ~
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d

跑完后,用这条看服务状态:
docker compose ps

如果正常启动,浏览器打开:
http://localhost/install

然后按页面提示创建管理员账号,完成初始化。这个就是 Dify 官方给的 Docker Compose 自托管流程。

下载失败的话,就直接浏览器下载 ZIP:
在 Windows 浏览器里打开 Dify 的 GitHub 仓库页面:搜索langgenius dify github
点 Code
点 Download ZIP
下载并解压

[(在 PowerShell 里输入:
wsl -d Ubuntu
进入 Ubuntu 终端:
cd ~
ls /mnt/c/Users/zhao2/Downloads
假设你解压后的文件夹叫 dify-main,就执行:
rm -rf ~/dify

cp -r /mnt/c/Users/zhao2/Downloads/dify-main ~/dify

复制完成后,依次输入这几条

先看文件夹在不在:

ls /home/zhao2

如果能看到 dify,继续:
cd /home/zhao2/dify/docker
ls

这里正常应该能看到类似:
.env.example
docker-compose.yaml 或 docker-compose.yml

如果看到了,就继续:
cp .env.example .env
docker compose up -d)]

我个人直接是这样操作的(成功了):
1.先修改
image
2.先进入dify文件找到docker文件夹,然后进入终端,再去操作下面的命令
输入下面命令:docker compose up -d
3.访问应用
http://localhost/signin
设置好邮箱、用户名、密码就可以登陆了

隔天使用,需要重启docker中的全部服务

posted @ 2026-04-27 17:24  我不是码神o  阅读(14)  评论(0)    收藏  举报