群晖上通过Portainer安装Nginx Proxy Manager失败求助
解决Docker拉取镜像超时(registry-1.docker.io连接超时)问题
核心原因
该错误是Docker守护进程无法连接到Docker官方镜像仓库,主要由网络访问慢、DNS解析异常、代理未配置等网络类问题导致。
具体解决步骤
检查网络连通性
先测试服务器能否正常访问官方仓库:curl -v https://registry-1.docker.io/v2/如果出现超时或无法连接,先确认服务器基础网络是否正常(比如ping 8.8.8.8测试连通性)。
配置Docker国内镜像加速
针对网络访问慢的情况,给Docker配置国内镜像源提速:- 编辑(或新建)Docker配置文件:
nano /etc/docker/daemon.json - 填入国内镜像源(示例为阿里云、网易云镜像):
{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.aliyuncs.com" ] } - 重启Docker服务生效:
systemctl daemon-reload systemctl restart docker
- 编辑(或新建)Docker配置文件:
修复DNS解析问题
如果是DNS无法解析镜像仓库地址:- 编辑服务器DNS配置文件:
nano /etc/resolv.conf - 添加公共DNS服务器:
nameserver 8.8.8.8 nameserver 1.1.1.1 - 测试解析是否正常:
nslookup registry-1.docker.io
- 编辑服务器DNS配置文件:
配置Docker代理(若服务器使用代理)
若服务器依赖代理上网,需同步给Docker配置代理:- 创建Docker代理配置目录:
mkdir -p /etc/systemd/system/docker.service.d - 编辑代理配置文件:
nano /etc/systemd/system/docker.service.d/http-proxy.conf - 填入代理信息(替换为你的代理地址):
[Service] Environment="HTTP_PROXY=http://你的代理地址:端口/" Environment="HTTPS_PROXY=http://你的代理地址:端口/" Environment="NO_PROXY=localhost,127.0.0.1" - 重启Docker服务:
systemctl daemon-reload systemctl restart docker
- 创建Docker代理配置目录:
重新部署Portainer堆栈
完成以上配置后,回到Portainer删除之前失败的堆栈,重新执行部署操作即可。
内容的提问来源于stack exchange,提问作者Abe
相关产品推荐
相关产品推荐

