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

Docker Desktop可正常登录但命令行执行docker login报连接超时错误

可行解决思路

  • 先排查WSL2网络连通性
    你当前使用WSL2作为Docker后端,Docker Desktop客户端走Windows网络栈,而命令行调用的Docker daemon跑在WSL2内核中,二者网络栈独立。首先打开WSL2终端执行命令:
    curl -v https://registry-1.docker.io/v2/
    如果请求超时,说明是WSL2本身的网络问题,优先排查该方向。
  • 手动修正WSL2 DNS配置
    如果你之前修改的是Windows系统DNS,WSL2默认自动同步Windows DNS时经常出现解析异常,按如下步骤手动配置:
    1. 打开WSL2终端,编辑/etc/wsl.conf,添加以下内容:
    [network]
    generateResolvConf = false
    
    1. 执行wsl --shutdown关闭WSL后重新打开,编辑/etc/resolv.conf,删除原有内容后添加:
    nameserver 114.114.114.114
    nameserver 8.8.8.8
    
    配置完成后再次尝试docker login。
  • 配置Docker国内镜像加速源
    打开Docker Desktop设置,找到「Docker Engine」配置项,在JSON配置中添加registry-mirrors字段,配置国内公共加速源,示例配置:
    {
      "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://mirror.baidubce.com"
      ]
    }
    
    保存后重启Docker Desktop再测试登录。
  • 排查防火墙/安全软件拦截
    暂时关闭Windows系统防火墙以及第三方安全防护软件,再尝试执行docker login,如果恢复正常,将WSL2相关进程、Docker Desktop进程添加到防火墙白名单即可。
  • 校验Docker上下文配置
    执行docker context ls查看当前激活的上下文,若默认上下文未指向Docker Desktop的WSL2后端,执行docker context use desktop-windows切换到正确上下文后重试。
  • 排查hosts解析污染
    分别检查Windows系统C:\Windows\System32\drivers\etc\hosts文件,以及WSL2内/etc/hosts文件,删除所有和registry-1.docker.io、index.docker.io相关的强制解析记录后重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:36:02