终端登录Docker Hub报lookup auth: no such host错误如何解决
问题根因
你执行的docker login auth存在参数错误:末尾的auth会被Docker daemon识别为自定义镜像仓库的域名,而非Docker Hub的认证服务标识,因此daemon尝试解析不存在的主机auth,触发报错:
Error response from daemon: Get "https://auth/v2/": dial tcp: lookup auth: no such host
排查解决步骤
第一步:执行正确的Docker Hub官方登录命令
登录官方Docker Hub不需要指定额外的仓库地址,直接运行无参数命令即可:docker login按提示输入Docker Hub的用户名、密码/个人访问令牌即可完成登录。如果之前触发了Docker Hub请求限流,可等待1-2小时后再尝试,或绑定Docker Hub账号手机号解除限流限制。
若执行正确命令后仍出现DNS解析类错误,手动配置Docker daemon的DNS规则
Docker daemon默认不继承系统/路由器下发的DNS配置,默认使用Google公共DNS,如果你所在网络无法正常访问Google DNS,可按以下步骤修改配置:- 编辑Docker daemon配置文件
sudo nano /etc/docker/daemon.json - 填入自定义DNS配置,示例如下:
{ "dns": ["1.1.1.1", "8.8.8.8", "替换为你的本地DNS服务地址"] } - 保存文件后重启Docker服务生效:
sudo systemctl restart docker - 验证配置是否生效:
命令正常返回hub.docker.com的IP解析记录即为配置生效。docker run --rm busybox nslookup hub.docker.com
- 编辑Docker daemon配置文件
额外排查项
检查/etc/docker/daemon.json中是否存在错误的insecure-registries、registry-mirrors配置,移除错误条目后重启Docker再尝试登录。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

