You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下Docker Desktop拉取镜像无法连接registry-1.docker.io报错

问题说明
  • 主机环境:独立物理机,运行Windows 10 企业版1809(OS内部版本17763.1098),安装Docker Desktop 4.9.0 (80466)
  • 网络前置条件:主机未配置任何HTTP代理,可正常访问公网
  • 执行的启动命令:
docker run -d -p 80:80 docker/getting-started
  • 报错信息:

docker: 守护进程返回错误:请求"https://registry-1.docker.io/v2/"失败,无法连接34.237.163.104的443端口。是否需要配置HTTP代理?
可通过docker run --help查看命令帮助。

排查&解决步骤

按优先级从高到低操作,每步操作完重试拉取命令验证:

  • 修正Docker Desktop残留代理配置
    Docker Desktop的代理配置和主机系统代理是独立的,哪怕主机没开代理,软件可能残留之前的代理配置导致网络不通。

    • 右键任务栏Docker图标,选择Settings进入设置页,打开Resources -> Proxies栏目
    • 确认选中No proxy选项,哪怕当前已经选中,也手动点选一次后点击下方Apply & Restart,等待Docker服务重启完成后重试。
      *注:4.9.0版本存在代理配置缓存bug,手动重选一次才能清空残留的无效代理参数。
  • 配置公共DNS与国内镜像源
    直连Docker Hub官方节点经常因为跨境链路波动、DNS污染导致IP不可达,直接配置国内镜像源可以绕过该问题:

    • 打开Docker Desktop设置页的Docker Engine栏目,在配置JSON中添加DNS和镜像源配置,参考如下:
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "dns": ["223.5.5.5", "114.114.114.114"],
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
  • 点击Apply & Restart等待服务重启,重启完成后再执行拉取命令即可。

  • 检查WSL2/虚拟化网络连通性
    如果Docker Desktop使用WSL2作为后端,WSL实例的网络栈独立于主机,可能出现主机能上网但WSL断网的情况:

    • 打开Windows命令提示符,执行wsl --shutdown关闭所有运行中的WSL实例
    • 重新打开Docker Desktop,等待WSL实例自动启动后重试拉取。
    • 如果要验证WSL网络是否正常,可打开Ubuntu/WSL终端执行curl https://registry-1.docker.io/v2/,返回401 Unauthorized即为网络连通正常。
  • 排查拦截规则

    • 打开Windows Defender防火墙高级设置,检查出站规则中是否存在拦截dockerd、com.docker.backend进程访问443端口的规则,存在则直接禁用该规则。
    • 临时退出第三方安全软件、网络管控类工具后重试,这类工具经常会拦截虚拟化进程的网络请求,且不会在系统防火墙中展示规则。
    • 可临时关闭防火墙测试1分钟,如果关闭后能正常拉取,单独给Docker相关进程放开所有出站权限即可。
  • 链路故障排查
    如果以上操作都无效,打开命令提示符执行tracert 34.237.163.104,查看路由丢包位置:如果在国内运营商节点就出现连续丢包,属于跨境公网链路临时故障,等待10-20分钟后重试即可,配置国内镜像源可直接规避该类问题。

内容的提问来源于stack exchange,提问作者tushar beniwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 20:43:09