Windows 10下Ddev启动失败:报Failed programming external connectivity错误
解决Windows 10下ddev/docker的「Failed programming external connectivity」错误
我之前在Windows 10搭配Docker 18.03使用ddev时,碰到过完全一样的端口代理IO错误,试了不少方法才搞定,下面是几个亲测有效的解决方案,按从易到难的顺序来:
1. 先试试最简单的:重启Docker Desktop
这是最常见的快速修复手段,很多时候就是Docker的端口代理进程卡死了:
- 右键任务栏右下角的Docker图标
- 选择「Restart」选项
- 等Docker完全重启完成后,再在终端里运行
ddev start试试
2. 清理Docker冗余网络与资源
有时候未使用的网络配置会干扰端口代理,清理一下就能解决:
- 打开管理员权限的PowerShell
- 依次执行以下命令:
docker network prune -f docker system prune -f - 重启Docker Desktop后,重新启动ddev项目
注意:
system prune会清理掉未运行的容器、悬空镜像等资源,如果你有需要保留的未备份容器,先备份再执行。
3. 禁用Windows快速启动功能
Windows的快速启动会让Hyper-V的网络资源无法完全释放,这是这类IO错误的常见诱因:
- 打开控制面板,找到「电源选项」
- 点击「选择电源按钮的功能」
- 点击「更改当前不可用的设置」
- 取消勾选「启用快速启动(推荐)」
- 重启电脑后再尝试启动ddev项目
4. 更新Docker Desktop到最新稳定版
你用的Docker 18.03版本比较老旧,官方在后续版本里修复了大量端口代理相关的bug:
- 去Docker官网下载最新的Windows稳定版安装包
- 覆盖安装(不需要卸载旧版本)
- 安装完成后重启电脑,再运行
ddev start
5. 重建Docker的虚拟交换机
如果前面的方法都没用,可能是Docker的虚拟交换机配置损坏了:
- 打开Hyper-V管理器(可以通过Windows搜索栏直接搜索)
- 点击左侧的「虚拟交换机管理器」
- 在列表里找到「DockerNAT」交换机,右键选择「删除」
- 重启Docker Desktop,它会自动重新创建DockerNAT交换机
- 最后启动ddev项目测试
内容的提问来源于stack exchange,提问作者rfay
相关产品推荐
相关产品推荐

