今天早上启项目时候,意外的报端口占用,但是通过命令查询占用的进程却找不到
PS C:Usersmrdu> netstat -aon|findstr "8000" PS C:Usersmrdu>
原因
开启了Hyper-v后,系统保留了很多端口。
通过命令查询hyper-v的端口保留范围。
PS C:Usersmrdu> netsh interface ipv4 show excludedportrange protocol=tcp 协议 tcp 端口排除范围 开始端口 结束端口 ---------- -------- 1104 1203 1304 1403 1404 1503 1504 1603 1704 1803 1804 1903 5357 5357 7605 7704 7805 7904 7905 8004 8005 8104 8205 8304 8308 8407 11731 11830 11831 11930 13878 13977 13978 14077 14198 14297 14298 14397 50000 50059 * * - 管理的端口排除。
解决方案
可以修改hyper-v的端口保留范围,当然我们还可以关闭hyper-v。由于我需要保留Windows的hyper-v虚拟机启动docker的方式,所以选择修改保留端口的范围。
通过以下命令,修改保留端口的范围。
PS C:Usersmrdu> netsh int ipv4 set dynamicportrange tcp start=49152 num=16384 确定。 PS C:Usersmrdu>
再查询一下,看是否修改成功。
PS C:Usersmrdu> netsh int ipv4 show dynamicport tcp 协议 tcp 动态端口范围 --------------------------------- 启动端口 : 49152 端口数 : 16384
这样就是修改成功了,然后重启端口。
PS C:Usersmrdu> netsh winsock reset 成功地重置 Winsock 目录。 你必须重新启动计算机才能完成重置。
最后重新启动一下系统,再看一下hyper-v保留端口的范围已经被成功修改了,项目也能正常启动了。
PS C:Usersmrdu> netsh interface ipv4 show excludedportrange protocol=tcp 协议 tcp 端口排除范围 开始端口 结束端口 ---------- -------- 5357 5357 49751 49850 49851 49950 50000 50059 * 50060 50159 50160 50259 50260 50359 50360 50459 50460 50559 50560 50659 50834 50933 50934 51033 51034 51133 51134 51233 51234 51333 51334 51433 51434 51533 51534 51633 * - 管理的端口排除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)