win10 wsl2 docker端口映射不成功

win10 wsl2 docker端口映射不成功

本人docker是安装在wsl2上的

问题

今天在学习elasticsearch,使用以下命令启动 elasticsearch

➜  docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins  -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

启动成功后,

curl localhost:9200一直取不到数据

然后google很久

发现可能是Hyper-v占用了默认端口

在cmd使用一下命令查看

netsh interface ipv4 show excludedportrange protocol=tcp

可以发现目标端口在start Port和End Port之间

这里是我修复过的

image-20200710184722952

解决步骤

管理员运行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

image-20200710184722952

项目开发中,可能会存在其他端口被占用,如果找不到占用的进程,可以尝试看Hyper-v是否占用了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值