win10下docker中启动zookeeper 2181端口异常被占用
问题
win10下使用docker启动zookeeper 之前正常 某一天开机发现zookeeper启动失败
这个问题可以通过修改zookeeper的默认端口号解决,如果不想修改端口号可通过下面的方式解决。
An attempt was made to access a socket in a way forbidden by its access permissions
使用 netstat -ano|findstr “2181” 未找到进程
通过google搜索半天得知
可能是Hyper-v占用了默认端口
使用一下命令查看
netsh interface ipv4 show excludedportrange protocol=tcp
解决步骤
管理员运行cmd命令提示符 输入一下指令
- 先禁用Hyper-V 需要重启计算机
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
- 重启完毕,同样使用管理员cmd 设置你需要的端口(如果不先禁用Hyper-V 执行该命令无效)
netsh int ipv4 add excludedportrange protocol=tcp startport=2181 numberofports=1
- 在执行以下命令
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
重启完毕,即可成功绑定端口
在使用命令查看一下绑定端口的状态
netsh interface ipv4 show excludedportrange protocol=tcp
项目开发中,可能会存在其他端口被占用,如果找不到占用的进程,可以尝试看Hyper-v是否占用了。