执行Docker Run命令创建容器端点失败:HNS未指定错误求助
解决Windows容器HNS创建端点失败的问题
你遇到的是Windows Docker容器里很常见的HNS(Host Network Service)网络故障,我整理了几个实用的排查和修复步骤,你可以挨个试试:
1. 重启HNS服务
这是最快速的修复手段,HNS服务偶尔会因为资源占用或状态异常卡住:
- 打开管理员权限的PowerShell/命令提示符
- 执行以下命令重启服务:
net stop hns net start hns - 重启完成后,再次尝试运行你的容器启动命令:
docker run -d -p 80:8081 --name nd sixeyed/nerd-dinner:part1
2. 检查端口占用情况
你把主机的80端口映射到容器的8081端口,有可能主机的80端口已经被其他服务(比如IIS、Apache或者其他Web应用)占用了:
- 用PowerShell查询80端口的占用进程:
netstat -ano | findstr ":80" - 如果发现有进程占用,要么停止该进程释放端口,要么修改Docker命令换一个空闲端口,比如:
docker run -d -p 8080:8081 --name nd sixeyed/nerd-dinner:part1
3. 重置Docker网络配置
如果重启HNS没效果,可以尝试重置Docker的整个网络环境:
- 打开Docker Desktop设置,进入Resources > Network,点击Reset network按钮
- 或者用命令行执行重置:
注意:docker network prune docker system prune -fdocker system prune会清理所有未使用的容器、镜像和网络资源,执行前请确认这些资源已经不需要了。
4. 验证系统与Docker的兼容性
确保你的Windows版本和Docker Desktop版本是匹配兼容的:
- Windows容器要求Windows 10 1809及以上版本,或者Windows Server 2019及以上版本
- 旧版本Windows可能存在HNS的已知bug,建议升级到最新稳定版的系统或Docker Desktop
要是以上方法都试过还是不行,不妨重启一下电脑——有时候系统层面的网络缓存需要彻底清空才能解决这类顽固问题。
内容的提问来源于stack exchange,提问作者Nalepsky
相关产品推荐
相关产品推荐

