Docker Compose 啟動失敗問題解決方案
錯誤描述
執行 docker compose up -d
時出現以下錯誤:
[+] Running 9/9? api 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
(其他服務類似錯誤...)
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded
核心問題:Docker客戶端訪問注冊中心超時,可能原因包括:
- 網絡連接問題
- Docker服務異常
- 鏡像源不可用
解決方法
1. 基礎檢查
1.1 網絡連通性測試
ping www.baidu.com # 確認基礎網絡正常
1.2 Docker服務狀態
systemctl status docker # 確認服務處于active (running)狀態
2. 鏡像源優化(推薦方案)
2.1 配置國內鏡像源
編輯 /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://dockerproxy.com",
"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
}
2.2 應用配置
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info # 驗證配置生效
3. 進階排查
- 鏡像版本問題:檢查
docker-compose.yml
中的鏡像標簽是否有效(如langgenius/dify-api:0.15.3
) - 資源限制:確保系統有足夠內存/CPU資源
- 代理設置:若使用企業網絡,需配置代理服務器
效果驗證
重新執行啟動命令:
docker compose up -d # 成功啟動后無錯誤輸出
注意:若問題持續,建議檢查防火墻規則或嘗試手動拉取鏡像(如
docker pull redis:latest
)