因为安装Windows 10版本的Docker环境,开启了Hyper-V。其结果是导致了IDEAPycharm等在运行时候提示端口占用启动失败,经过探索之后成功找到了解决方案。

谷歌了下,导致这种情况的原因是, 当我们开启Hyper-V后,系统默认会分配给一些保留端口供Hyper-V使用 。

尝试如下方法解决:


# 修改动态端口范围
netsh int ipv4 set dynamicport tcp start=49152 num=16383
netsh int ipv4 set dynamicport udp start=49152 num=16383
netsh winsock reset

执行完成后重启解决。

另外查找资料说可以单独排除其中一个端口:


netsh int ipv4 add excludedportrange protocol=tcp startport=50051 numberofports=1

这样也可以保证端口不被其他程序占用。

参考资料:

1.https://blog.csdn.net/zzlve/article/details/105450928

2.https://intellij-support.jetbrains.com/hc/en-us/community/posts/360006880600-IDEA-Start-Failed-Address-already-in-use