Windows上docker运行某个容器报错:端口被占用

462 阅读1分钟

1、错误:

bind: An attempt was made to access a socket in a way forbidden by its access permissions.

2、排查:

使用如下命令查看端口占用情况:

netstat -aon|findstr "端口号"

发现空白

3、详细原因:

具体原因

Hyper-V排除了一些范围内的端口,容器启动的时候需要绑定一个端口,这个端口恰好在被排除的端口号,使用如下命令查看:

netsh interface ipv4 show excludedportrange protocol=tcp

可以看到被排除的端口号的范围,自己需要的端口就在其中

4、解决办法:

stackoverflow下的解决办法 以管理员身份打开windows powershell,执行如下命令:

net stop winnat
net start winnat