1、错误描述
root@ubuntu-database:/opt/dify/docker# docker compose up -d
[+] Running 9/9
✘ api Error context canceled 15.1s
✘ db Error context canceled 15.1s
✘ nginx Error context canceled 15.1s
✘ redis Error Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers) 15.1s
✘ ssrf_proxy Error context canceled 15.1s
✘ worker Error context canceled 15.1s
✘ weaviate Error context canceled 15.1s
✘ sandbox Error context canceled 15.1s
✘ web Error context canceled 15.1s
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
该错误表明 Docker 客户端尝试访问 Docker Hub 或其他 Docker 注册中心时出现了问题,具体是在获取注册中心 API 响应时遇到超时。可能的原因包括网络问题、认证问题或注册中心服务不可用。
2、解决方法
2.1、检查网络连接
确保机器可以访问互联网,特别是 Docker Hub 或私有注册中心。
root@ubuntu-database:/opt/dify/docker# ping www.baidu.com
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3: icmp_seq=1 ttl=128 time=38.5 ms
64 bytes from 110.242.68.3: icmp_seq=2 ttl=128 time=36.4 ms
64 bytes from 110.242.68.3: icmp_seq=3 ttl=128 time=52.3 ms
2.2、检查 Docker 服务状态
运行 systemctl status docker(Linux 系统)查看 Docker 服务是否正在运行。
root@ubuntu-database:/opt/dify/docker# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-11-27 12:04:05 UTC; 55min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 4766 (dockerd)
Tasks: 10 Memory: 21.8M (peak: 24.5M) CPU: 479ms CGroup: /system.slice/docker.service
如以上都没有问题,下面考虑 Docker 换源。
2.3、换源
创建目录并编辑配置文件:
sudo mkdir -p /etc/docker
vim /etc/docker/daemon.json
在 /etc/docker/daemon.json 文件中加入以下配置:
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
"insecure-registries": [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}
重载配置生效:
sudo systemctl daemon-reload
重启服务:
sudo systemctl restart docker
查看是否配置成功:
docker info
输出示例:
root@ubuntu-database:/etc/docker# docker info
Client:
Version: 27.3.1
Server:
Server Version: 27.3.1
Registry Mirrors:
https://docker.registry.cyou/
https://docker-cf.registry.cyou/
...
http://mirrors.sohu.com/
...
重新执行 docker compose up -d,若出现正常启动日志,说明问题已解决。




