Docker 容器不能在 Windows 上运行,端口不可用

问题描述 投票:0回答:2

我试图在 Windows 10 上运行 docker 容器,但总是收到此错误“无法启动服务 SERVICE_NAME:端口不可用:无法列出公开的端口:获取“http://unix/forwards/list”:上下文超出截止日期(等待标头时超出 Client.Timeout)” 。我尝试删除容器并再次重建它,但这对我不起作用。

PS:这个错误与特定服务无关,虽然之前成功启动过同一个服务,但每次都发生在不同的服务中

请问有什么帮助吗?

windows docker devops docker-container
2个回答
2
投票

这帮助我解决了同样的问题

netsh winsock reset

0
投票

问题在于 Windows 中的 Hyper-V,它保留了一系列端口以满足其需求。此范围可能与 Docker 映像使用的端口重叠。

您需要在 CMD 或 PowerShell 中运行以下命令:

netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384

执行命令后,必须重新启动计算机。

这将强制限制 Hyper-V 可以为其需求保留端口的范围。 当然,Docker 映像不应使用 49152 到 65536 之间的端口,因为 Hyper-V 或 Windows 可以使用此范围。

© www.soinside.com 2019 - 2024. All rights reserved.