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

Windows10运行Docker容器报端口不可用超时错误如何解决

Windows 10 Docker 随机端口转发超时报错解决

问题表现

运行Docker容器时随机在不同服务上触发以下报错,对应服务此前均可正常启动,删除容器后重新构建无法修复:

Cannot start service SERVICE_NAME: Ports are not available: unable to list exposed ports: Get "http://unix/forwards/list": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

解决步骤(按操作成本从低到高排序)

  • 右键任务栏Docker图标,选择「Restart」等待Docker完全重启完成(任务栏图标停止转动进入稳定状态),再重新启动容器,大部分偶发的端口转发模块卡死问题可通过该操作解决。
  • 若重启Docker无效,以管理员身份打开PowerShell或命令提示符,执行netsh winsock reset,执行完成后重启电脑,再启动Docker测试。该命令用于重置Windows网络套接字配置,可修复绝大多数因系统网络栈损坏导致的Docker unix套接字通信超时问题。
  • 检查系统端口保留冲突:管理员身份执行netsh interface ipv4 show excludedportrange protocol=tcp,查看容器需要映射的端口是否落在系统动态保留的端口段内。如果存在冲突,可以临时执行net stop winnat关闭Windows网络地址转换服务,启动容器后再执行net start winnat恢复服务,也可以直接修改容器的端口映射配置避开保留段。
  • 切换Docker运行后端测试:打开Docker Desktop设置页,找到「Use the WSL 2 based engine」选项,若当前为开启状态则关闭切换到Hyper-V后端,若当前为Hyper-V后端则开启切换到WSL2后端,保存设置等待Docker重启后再测试,部分版本Docker的后端端口转发组件存在随机卡死bug,切换后端可绕过该问题。
  • 以上操作均无效时,卸载当前Docker Desktop,手动删除C:\ProgramData\Docker目录以及当前用户目录下的.docker文件夹(操作前提前备份需要留存的镜像、容器数据),重新安装最新稳定版Docker Desktop即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 05:01:02