按照官方说明文档安装没看清楚版本,直接安装的版本为0.15.3,导致无法安装插件

# 查看 dify-web 容器的镜像版本(标签就是版本号)
docker images | grep langgenius/dify-web

升级dify版本(失败版,试图修改yaml文件里面的版本)

1. 📦 备份 Dify 与 Postgres 数据卷

docker volume ls | grep dify

然后使用 alpine 镜像打包 volume 内容:

docker run --rm -v docker_dify-data:/source -v $(pwd):/backup alpine \
    tar -czf /backup/dify-data-backup.tar.gz -C /source .

docker run --rm -v docker_postgres-data:/source -v $(pwd):/backup alpine \
    tar -czf /backup/postgres-data-backup.tar.gz -C /source .

因为本地没有 alpine 镜像,所以会自动拉取:

打包完成后查看是否生成:

ls -l /root/dify/docker | grep backup.tar.gz

备份完成 ✔

我需要更新 Dify 的镜像,因此想找到包含 langgenius/dify-web 的 compose 文件:

find / -name "docker-compose.yml" -type f | xargs grep -l "langgenius/dify-web" 2>/dev/null

结果啥也没找到,于是我确认自己的 Dify 安装目录:

/root/dify/docker

编辑 compose 文件:

vim /root/dify/docker/docker-compose.yml

但有两个文件同时存在:

  • docker-compose.yml

  • docker-compose.yaml

导致 Docker Compose 给出警告:

原来 .yml 文件是空的!所以我删除它:

rm -f docker-compose.yml

🐳 docker compose pull 拉取镜像失败(超时)

docker compose pull

结果遇到超时错误:

配置 Docker 国内镜像加速

vim /etc/docker/daemon.json

保存后重启 Docker:

systemctl daemon-reload
systemctl restart docker

然后再次拉取,还是失败:

docker compose -f docker-compose.yaml pull

后面我又连续踩坑一天,遇到各种奇葩情况:

  • GitHub 克隆失败

  • fastgit 镜像无法访问

  • 指定 tag 克隆报错

  • Gitee 授权失败

  • 克隆过程断开

  • docker compose 拉取镜像超慢

为避免大家重蹈覆辙,我把所有问题 + 原因 + 最终解决方案整理成完整记录,希望帮到正在部署 Dify 的你。


🧨 一、fastgit.xyz 失效导致无法克隆

错误:

Failed to connect to hub.fastgit.xyz port 443: 拒绝连接

原因:

fastgit 镜像失效或不可用。

解决办法:

git clone https://github.com/langgenius/dify.git

🧨 二、克隆指定版本失败:找不到 tag

错误示例:

fatal: Remote branch v0.28.0 not found
fatal: Remote branch v0.61.0 not found

原因:

你要克隆的 tag 并不存在。

解决办法:

直接克隆主分支即可:

git clone https://github.com/langgenius/dify.git

🧨 三、GitHub 克隆中途中断、速度慢、网络不稳定

典型报错:

fetch-pack: unexpected disconnect while reading sideband packet

或者你手动 Ctrl+C、Ctrl+Z 强行中断。

处理方式:

rm -rf dify
git clone https://github.com/langgenius/dify.git

如果你的服务器在国内,建议加代理或加 GitHub 加速:

git config --global url."https://ghproxy.com/".insteadOf "https://"

🧨 四、Gitee 克隆失败(需要登录 + 公钥问题)

错误 1(需要密码):

Unauthorized

错误 2(SSH 未配置):

Permission denied (publickey)

原因:

Gitee 拉取仓库需要登录权限,Dify 官方仓库不是开放的镜像仓。

解决办法:

不折腾了,直接克隆 GitHub 官方仓。


✔ 五、最终成功的克隆方式

成功一次:

git clone https://github.com/langgenius/dify.git

当出现:

100% (258013/258013), 完成.

说明成功了。


🐳 六、进入 Docker 目录并启动 Dify

cd dify/docker
cp .env.example .env
docker compose up -d

这一步会下载大量镜像,非常非常慢

成功后你会看到类似:

[+] Running 13/13
✔ docker-web-1 Started
✔ docker-api-1 Started
✔ docker-nginx-1 Started
...

🎉 七、访问 Dify 服务

容器全部启动后即可访问:

http://你的服务器IP

📝 八、完整问题总结(适合拿到文章开头做 TL;DR)

问题 原因 解决办法
fastgit.xyz 无法访问 镜像源挂了 换 GitHub
v0.28/v0.61 tag 不存在 官方没这个版本 克隆主分支
克隆中断 网络差 / timeout 删除后重拉
Gitee 失败 需要授权/SSH 放弃 Gitee
docker 拉取卡住 镜像大 耐心等待

🔚 结语

Dify 的 Docker 镜像比较大,再加上 GitHub 在国内访问不稳定,导致部署过程中很容易遇到各种问题。希望这篇文章能为你节省几个小时的踩坑时间。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐