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

Docker Build在Windows11 WSL2环境下无限挂起于load metadata步骤求助

Docker Build在load metadata for [image]步骤无限挂起(Windows 11 + WSL2 Docker Desktop)

近几周使用Docker Build时频繁遇到问题,构建过程经常在load metadata for [whatever image]步骤无限挂起。环境是Windows 11 + 启用WSL2的Docker Desktop,偶尔重启能解决,但多数时候无效。

已尝试的排查操作

  • 删除.docker/下的config.json
  • 切换VPN状态
  • 在daemon.json中手动设置DNS
  • 在docker-desktop WSL镜像中修改resolv.conf手动设置DNS
  • 调整.wslconfig中的各项配置
  • 重启Docker Desktop
  • 执行wsl --shutdown重启WSL
  • 重装Windows版Docker

关联现象

  • 问题可能始于从Windows 10升级到Windows 11,但无法确认
  • 问题与具体构建项目无关,也不局限于特定镜像
  • 出现问题时,所有现有容器都无法连接到Windows 11原生运行的MSSQL数据库
  • 构建正常运行后,只要不关机就能持续使用,但休眠后问题大概率复发

排查&解决建议

  1. 重置WSL网络栈
    执行以下命令彻底重置WSL相关网络组件:

    wsl --shutdown
    netsh winsock reset
    netsh int ip reset all
    netsh winhttp reset proxy
    ipconfig /flushdns
    

    完成后重启电脑,再重新启动Docker Desktop。

  2. 禁用WSL2节能休眠
    Windows 11的节能策略可能导致WSL网络在休眠后异常:

    • 打开「控制面板\硬件和声音\电源选项\更改计划设置\更改高级电源设置」
    • 找到「WSL」选项,将「允许WSL在电池上休眠」设为「禁用」
  3. 强制Docker绑定WSL网络
    在Docker Desktop设置中:

    • 进入「Resources > WSL Integration」
    • 仅勾选当前使用的WSL发行版(如Ubuntu)
    • 暂时关闭「Use the WSL 2 based engine」,保存设置后再重新开启
  4. 配置国内镜像源
    网络问题可能导致镜像元数据拉取超时,在daemon.json中添加国内镜像源:

    {
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com"
      ]
    }
    

    修改后重启Docker Desktop生效。

  5. 检查防火墙规则
    确保Docker相关进程未被防火墙拦截:

    • 打开「Windows Defender防火墙 > 高级设置」
    • 查看「出站规则」,删除或允许阻止docker.exe、WSL相关进程的规则
  6. 更新WSL2内核
    旧版WSL2内核可能存在Windows 11兼容性问题,执行命令更新:

    wsl --update
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 02:23:20