今天,启动本机kafka容器时,报告了以下错误:
docker : errorresponsefromdaemon 3360 portsarenotavailable 3360 listen TCP0.0. 0:9091: bind : anattemptwasmadetetal ketal
win 10 64坞站桌面3.2.1计算机上启用了hyper-v(cdlf )
使用netstat -ano | findstr 9091检查是否有程序使用9091端口,结果为否。
在此之前,idea启动tomcat时,以debug模式会报,debug的端口被占用,以run模式启动时,会报1099端口被占用.当时,只要重新启动电脑,直接启动idea,就可以
谷歌后发现,hyper-v保留了部分tcp端口,并使用命令:
netshinterfaceipv4showexcludedportrangeprotocol=TCP
得到:
协议tcp端口排除范围开始端口结束端口----------5357535768216944704371187218731783019055915491689333094299783 13628137271395555 但是,由于发现9091在排除范围内,所以更改了启动命令,主要是端口更改,
docker run-d---- name Kafka---publish 915533609092---- link zookeeper---env Kafka _ zookeeper _ connect=115
容器可以正常启动。
像我这样的是绕过预约的端口,如果你的程序一定要使用范围内的端口,请参考以下链接了解如何配置预约端口。 基本上是:
暂时关闭hyper-v
2 .配置端口
恢复hyper-v
引用链接:
端口不可用列表- TCP-0-0-0-0-0-50070 -绑定- an-attempt-was-made-to -此链接是我解决问题的途径
解决窗口S10 hyper-v保留端口占用问题-此链接介绍如何配置