问题
docker desktop在windows下运行经常会遇到端口被占用的情况
原因
这里有三种可能
windows默认有一个动态TCP端口范围(TCP dynamic port range), 保留给其他服务使用
一般来说是49152 ~ 65536其它应用占用的端口段, 例如hyper-v
windows自动更新有些时候会把范围重置为1024 ~ 65536
md, 真是坑。重启
如何解决
先查看TCP dynamic port range
1 | netsh int ipv4 show dynamic tcp |
看到Start Port确实是1024, 我们重新设置一下动态TCP端口范围
再查看再动态范围中,看我们想使用的端口是不是已经被占用了
1 | netsh int ipv4 show excludedportrange protocol=tcp |
重设动态tcp范围
1 | netsh int ipv4 set dynamic tcp start=49152 num=16384 |