Docker拉取镜像时报错lookup ghcr.io connection refused是什么原因?
报错原因
该错误由Docker daemon域名解析失败触发:Docker尝试向本地IPv6回环地址[::1]的53端口(标准DNS服务端口)发起ghcr.io的域名解析请求,但你当前设备的本地没有运行可用的DNS监听服务,解析请求被直接拒绝,无法获取域名对应的IP地址,最终导致镜像拉取失败。
排查解决步骤
- 先验证系统全局DNS是否正常
执行命令nslookup ghcr.io或dig ghcr.io,如果返回解析失败,说明是系统层面的DNS配置错误,先修改系统的DNS服务器为公共DNS,比如114.114.114.114、8.8.8.8。 - 系统DNS正常的情况下,修改Docker专属DNS配置
编辑Docker daemon配置文件/etc/docker/daemon.json(文件不存在直接新建即可),添加如下配置:{ "dns": ["8.8.8.8", "114.114.114.114"] } - 重启Docker服务使配置生效
执行命令sudo systemctl restart docker(适用于systemd管理的Linux系统,其他系统对应执行Docker重启命令即可)。 - 验证拉取功能
重新执行原拉取命令docker pull ghcr.io/linuxserver/nextcloud:latest测试是否正常。 - 特殊场景适配
如果你在WSL2环境中运行Docker,还需要检查Windows宿主的DNS配置是否正常,以及WSL内部/etc/resolv.conf是否被自动生成了错误的DNS地址,可手动修改resolv.conf的nameserver为公共DNS后再测试。
内容的提问来源于stack exchange,提问作者user16812400
相关产品推荐
相关产品推荐

