Docker拉取镜像遇net/http: TLS handshake timeout错误求助
解决Docker拉取镜像时TLS握手超时及网络异常问题
针对你使用WSL2(Ubuntu)搭配Docker 3.5.2遇到的net/http: TLS handshake timeout错误及后续网络异常问题,可尝试以下解决方案:
1. 调整Docker超时与网络配置
- 编辑(或新建)Docker配置文件
/etc/docker/daemon.json,添加超时、DNS及镜像源相关配置:{ "timeout": 300, "dns": ["8.8.8.8", "8.8.4.4"], "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } - 保存后重启Docker服务:
sudo systemctl restart docker
2. 快速修复WSL2网络异常
无需重启整个系统,可通过以下步骤重置WSL2网络:
- 在Windows管理员命令提示符中执行:
wsl --shutdown - 重新打开Ubuntu终端,启动Docker服务:
sudo systemctl start docker - 若DNS解析持续异常,可在Windows用户目录下新建
.wslconfig文件,配置网络镜像模式:
执行[wsl2] networkMode=mirroredwsl --shutdown后重启WSL2生效。
3. 检查防火墙与代理设置
- 临时关闭Windows和Ubuntu的防火墙,测试是否为防火墙拦截导致超时。
- 若使用代理,需给Docker配置正确代理:
在/etc/docker/daemon.json中添加:
重启Docker服务生效。"proxies": { "default": { "httpProxy": "http://你的代理IP:端口", "httpsProxy": "http://你的代理IP:端口", "noProxy": "localhost,127.0.0.1,registry-1.docker.io" } }
内容的提问来源于stack exchange,提问作者Massimo Mannini
相关产品推荐
相关产品推荐

