Windows开发环境:Docker/WSL2端口冲突排查与解决方案

一、问题现象

执行命令查看系统TCP端口排除范围:

netsh interface ipv4 show excludedportrange protocol=tcp

结果显示一段连续端口被系统预留,导致Docker/应用无法绑定。

二、原因分析(仅本地开发)

这些端口是Windows TCP/IP栈、Hyper-V/WSL2虚拟网络动态预留的,用于虚拟网卡NAT、端口转发,属于系统级正常占用,非恶意程序占用。

三、安全开发端口推荐

方案一:使用高位开发端口(推荐)

优先选择 18000~30000 区间,避开系统预留与常见服务端口:
-p 18048:8848(Nacos)
-p 19848:9848(自定义服务)

方案二:固定开发端口池

统一规划本地开发端口,避免冲突:

  • Nacos:18048
  • MySQL:13306
  • Redis:16379

方案三:谨慎调整系统端口(仅本地测试)

⚠️ 警告:以下命令仅用于本地开发环境,可能影响虚拟网络,公网服务器严禁执行:
netsh int ipv4 set dynamicport tcp start=10000 num=50000

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐