docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker加载镜像超时

关于Docker加载镜像连接超时的快速解决办法

作者:木子杳衫

文章指导如何检查WSL和Docker状态,解决网络连接超时问题,包括验证DNS解析、调整网络设置及重启服务,确保Docker能正常拉取镜像,本文重点给大家介绍Docker加载镜像连接超时的解决办法,感兴趣的朋友跟随小编一起看看吧

一 前提概要

1 检查WSL发行版及状态

在Windows系统中,使用以下命令列出所有已安装的WSL发行版及其运行状态:

wsl --list --verbose

或简写为:

wsl -l -v

输出示例:

  NAME      STATE           VERSION
* Ubuntu    Running         2
  Debian    Stopped         2

2 验证Docker运行状态

通过以下命令检查Docker Desktop是否正常运行:

docker info

若输出包含容器、镜像、存储驱动等详细信息,表明Docker正在运行。

或使用版本检查命令:

docker version

正常输出应包含客户端(Client)和服务端(Server)的版本信息,例如:

Client:
 Version:           20.10.21
 Server:
 Engine:
  Version:          20.10.21

3 常见问题排查

二 网络连接超时问题分析

当执行 docker run redis:7.2-alpine 时出现 net/http: request canceled while waiting for connection 错误,通常是由于 Docker 无法连接到 Docker Hub 或其他容器镜像仓库。这可能是由网络连接问题或 DNS 解析失败引起的。

1 检查本地网络连接

验证本地网络是否正常工作:

ping 127.0.0.1

预期输出应显示正常的 ping 响应时间:

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.029 ms

2 检查外网连接

尝试 ping 外网地址以验证 DNS 解析:

ping www.baidu.com

如果出现 Temporary failure in name resolution,说明 DNS 解析失败。

3 修改 DNS 配置

编辑 /etc/resolv.conf 文件,确保包含有效的 DNS 服务器:

nameserver 8.8.8.8
nameserver 114.114.114.114

4 验证 DNS 解析

修改配置后,再次测试外网连接:

ping www.baidu.com

如果能够正常解析域名并收到响应,说明 DNS 配置已生效。

建议直接到8 最终验证,如果仍未成功,再进行接下来的排查

5 检查 Docker 网络配置

确保 Docker 能够访问外部网络。可以尝试以下命令验证:

docker run --rm alpine ping -c 4 www.baidu.com

如果仍然无法连接,可能需要调整 Docker 的网络设置或代理配置。

6 重启网络服务

修改 DNS 配置后,重启网络服务以确保更改生效:

sudo systemctl restart systemd-resolved

7 其他可能原因

8 最终验证

成功解决 DNS 解析问题后,再次尝试拉取 Redis 镜像:

docker run redis:7.2-alpine

如果一切正常,镜像将成功下载并运行。

到此这篇关于Docker加载镜像连接超时的解决办法的文章就介绍到这了,更多相关docker加载镜像超时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文