type
Post
status
Published
date
Apr 3, 2026
slug
dify-docker-mirror-fix
summary
在校园服务器上安装 Dify 时遭遇镜像拉取失败,一步步排查发现 USTC、163 等国内主流镜像站已全部关闭,最终通过 DaoCloud 镜像站解决问题的完整记录。
tags
Docker
镜像
技术分享
开发
category
技术分享
icon
password
URL
背景
在校园服务器(无公网 IP,可访问外网)上使用 Docker Compose 安装 Dify 开源版时,遭遇镜像拉取失败。本文记录完整排查和解决过程,适合同样在国内服务器上部署 Dify 或其他 Docker 应用的朋友参考。
环境信息:
- 服务器:Dell PowerEdge R730xd
- 系统:Ubuntu 22.04
- Docker:Community Edition
- Dify 版本:1.13.3
问题现象
执行
docker compose up -d 后,所有服务均报错:虽然已在
/etc/docker/daemon.json 中配置了镜像加速源,但 Docker 始终直连 registry-1.docker.io,绕过了镜像站。排查过程
第一步:排除防火墙干扰
那个笨蛋`千问3.5`向我推荐了镜像加速网站`docker.mirrors.ustc.edu.cn`,最初怀疑 ufw 防火墙阻拦了出站流量,尝试了
ufw disable、放行 53 端口等操作,均无效。关键线索:报错是
Could not resolve host(DNS 解析失败),而非连接被拒绝,因此防火墙不是原因。第二步:定位根本原因
根本原因:USTC Docker 镜像站已于 2024 年关闭,域名已下线,并非网络或 DNS 配置问题。163、阿里云个人镜像加速等主流镜像站也相继停服或限制访问。
⚠️ 网上大量教程仍在推荐docker.mirrors.ustc.edu.cn、hub-mirror.c.163.com等已失效的镜像站,请勿再使用。
第三步:批量测试当前可用镜像源
镜像站 | 测试结果 | 说明 |
HTTP 403 | 仅限校园网 IP | |
超时 | 不可用 | |
超时 | 不可用 | |
超时 | 不可用 | |
HTTP 401 | ✅ 可用 |
💡/v2/返回 401 不代表不可用。Docker Registry 规范中,未带认证信息访问/v2/返回 401 是正常响应,说明服务在线。返回 000(连接失败)或超时才代表不通。
第四步:验证 DaoCloud 并更新配置
第五步:只启动核心服务
Dify 的
docker-compose.yaml 包含 30+ 个镜像,其中大量是可选的向量数据库(Weaviate、Milvus、Elasticsearch、Qdrant 等)。直接执行 docker compose up -d 会尝试拉取全部镜像,任意一个失败就会导致整体中断。Dify 核心镜像清单(v1.13.3)
以下镜像均来自 Docker Hub,可通过 DaoCloud 镜像加速拉取:
镜像 | 说明 |
langgenius/dify-api:1.13.3 | API 服务(worker 同镜像) |
langgenius/dify-web:1.13.3 | 前端 |
langgenius/dify-sandbox:0.2.14 | 沙箱执行环境 |
langgenius/dify-plugin-daemon:0.5.3-local | 插件守护进程 |
postgres:15-alpine | 主数据库 |
redis:6-alpine | 缓存 |
nginx:latest | 反向代理 |
busybox:latest | 权限初始化 |
注意事项
阿里云个人镜像加速已失效
/v2/ 握手返回 200,但实际拉取报错:This request is forbidden,不要使用。NJU 镜像站限校园网 IP
南京大学镜像站对非教育网出口 IP 返回 403。可用以下命令查看服务器出口 IP 归属:
一句话总结
在国内服务器部署 Docker 应用前,先用curl逐一测试镜像站连通性,再写入daemon.json,不要照抄过期教程。目前(2025 年)推荐使用:docker.m.daocloud.io。
- 作者:Miro
- 链接:http://miro.cx/article/dify-docker-mirror-fix
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。




