配置Docker代理后拉取ReadyAPI镜像报no such host错误如何解决
Docker代理拉取镜像域名解析错误排查方案
1. 校验代理域名本身的可解析性
- 在宿主机执行
nslookup us002-*******或ping us002-*******,确认该代理域名可以被宿主机的DNS服务正常解析 - 若宿主机本身解析失败,可直接将代理配置中的域名替换为代理服务器的IP地址,跳过域名解析环节,也可以修改宿主机
/etc/resolv.conf添加可用的公共DNS服务器
2. 确认Docker daemon代理配置生效
- Docker拉取镜像使用的是daemon进程的代理配置,而非当前终端的环境变量
- 检查
/etc/docker/daemon.json中的proxies配置项,确认http-proxy、https-proxy的地址拼写完全正确,无遗漏前缀、字符错误等问题 - 修改配置后必须执行
systemctl daemon-reload && systemctl restart docker重启Docker服务生效 - 重启后执行
docker info,查看底部HTTP Proxy、HTTPS Proxy字段,确认配置已正确加载
3. 修复Docker内置解析异常
- 若宿主机可正常解析代理域名,但Docker daemon仍解析失败,可在
daemon.json中显式指定DNS服务器:
{ "proxies": { "default": { "httpProxy": "http://你的代理地址:8080", "httpsProxy": "http://你的代理地址:8080" } }, "dns": ["8.8.8.8", "114.114.114.114"] }
- 配置更新后重启Docker服务,再次尝试拉取镜像即可
4. 临时验证方案
可临时将代理地址修改为http://代理服务器IP:8080的形式,跳过域名解析步骤,先验证代理本身的连通性正常,再逐步排查域名解析链路的问题
该报错本质是Docker daemon无法将填写的代理域名解析为对应IP地址,按上述步骤依次排查解析链路各节点即可定位问题
内容的提问来源于stack exchange,提问作者VJ4Testing
相关产品推荐
相关产品推荐

