Hyper-V、8080等端口占用问题

查看一下被占端口,以8080为例

netstat -ano | findstr 8080

如果找到相应进程,查看该进程,并干掉该进程

tasklist | findstr <进程号pid>

tskill <进程号pid>


如果没找到相应进程,又开启过Hyper-V,那就算Hyper-V保留了端口不允许其他程序绑定

查看一下系统默认的端口占用范围

netsh int ipv4 show dynamicport tcp

可以看到Windows系统默认的tcp 动态端口范围应该为:1024~13977。当开启Hyper-V后,系统默认会分配给一些保留端口供Hyper-V使用;

查看协议 tcp 端口排除范围

netsh interface ipv4 show excludedportrange protocol=tcp

应该可以看到该端口在排除范围内易导致其他程序无法绑定成功而提升被占用

解决方法:

1、关闭Hyper-V(在添加/删除windows功能处,过程省略)需要重启系统生效,但之后需要用到docker-desktop经常重启就很烦的,这也是个麻烦的问题。

2、修改端口排除范围

修改为从49999开始到65535结束

netsh int ipv4setdynamicport tcp start=49999 num=15537

查看tcp动态端口范围是否修改成功

netsh int ipv4 show dynamicport tcp

管理员权限下,重启端口

netsh winsock reset

最后重启系统生效

最后的最后,查看端口排除范围是否修改成功

netsh interface ipv4 show excludedportrange protocol=tcp


你可能感兴趣的:(Hyper-V、8080等端口占用问题)