Docker Desktop绑定端口失败的问题

Docker Dessktop会偶发绑定端口失败的,而端口明明没有被占用,偶尔还会频繁地出现这个问题,自己测试倒还罢了,如果用于生产环境,则是一大BUG。

这个问题我在Windows 10和11上都遇到过。

看网上有人说是由于开启了Hyper-V导致TCP动态端口范围被修改的事,使用netsh int ipv4 show dynamicport tcp查看,发现端口范围果真是以1024开头的。

而这个端口范围是可以改的,把它改的靠后一点就行了。以管理员身份操作如下:

  1. 先关闭Hyper-V

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

    需要重启。

  2. 修改端口范围

    netsh int ipv4 set dynamicport tcp start=49152 num=16383
    netsh int ipv4 set dynamicport udp start=49152 num=16383
  3. 查看结果

    netsh int ipv4 show dynamicport tcp
  4. 开启Hyper-V

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

    也需要重启。

再绑定端口的时候,使用49152前面的那些不常用的端口,比如39000~40000,基本就没问题了。

Leave a Comment

豫ICP备19001387号-1