Windows 下端口不可用的可能情况解决
参考:(Windows)以一种访问权限不允许的方式做了一个访问套接字的尝试处理、Windows 10 WINNAT and why your programs can’t listen on certain ports.
问题描述
源于使用 Docker 搭建了本地的 Jellyfin 服务,但是发现有时候无法访问(启动不成功,端口被“占用”)。
现象类似参考博客,实际使用 netstat -ano | findstr 8096 查看端口占用情况,发现端口并没有被占用。
问题解决
治标
使用 netsh interface ipv4 show excludedportrange protocol=tcp 可以查看被 ban 的端口范围,尚不清楚这个范围由什么规定,而且也不是每次都会被 ban。如果端口在这个范围内,则无法使用。
重启 winnat 服务(需要管理员权限)。
1 | |
重启后被 ban 清单就干净了,重启 Docker 中容器即可正常使用。
治本
待续,个人直接给容器换了个端口映射。