Docker pull执行报错咨询:拉取Alpine镜像时出现I/O超时
问题本质
这是Docker拉取镜像时的DNS解析超时故障——简单说就是你的Docker后台服务(daemon)没法通过指定的DNS服务器找到Docker Hub官方仓库的IP地址,导致连接失败,没法拉取镜像。
错误信息逐段解析
咱们把控制台返回的内容拆开来理解:
Using default tag: latest
这不是错误,是Docker的正常提示:你执行docker pull alpine时没指定镜像的版本标签,所以默认用latest标签来拉取最新版本的alpine镜像。- 核心错误内容:
Error response from daemon: Get https://registry-1.docker.io/v2/ : dial tcp: lookup registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:57942->10.0.2.3:53: i/o timeout
这部分要分模块看:Error response from daemon::错误来自Docker守护进程(后台运行的服务),不是你输入的命令有语法问题。Get https://registry-1.docker.io/v2/:Docker daemon正在尝试向Docker Hub的官方仓库地址发送HTTPS请求,用来获取alpine镜像的相关信息。dial tcp: lookup registry-1.docker.io on 10.0.2.3:53:Docker daemon需要先把registry-1.docker.io这个域名转换成对应的IP地址,它找的是IP为10.0.2.3的DNS服务器(53是DNS服务的默认端口)来做这件事。read udp 10.0.2.15:57942->10.0.2.3:53: i/o timeout:你的机器(IP是10.0.2.15)向这个DNS服务器发送了查询请求,但等了很久都没收到响应,最终触发了I/O超时——这就是问题的核心原因。
简单总结:你的DNS服务器10.0.2.3要么没法连通,要么响应速度太慢,导致Docker没法解析到Docker Hub仓库的地址,自然拉取不到镜像。
内容的提问来源于stack exchange,提问作者Nikhil Bansal
相关产品推荐
相关产品推荐

