环境

windows11 + dockerdesktop + WSL 2

问题描述

贴主在容器内的7860端口起了一个服务,但是

  • 宿主机无法通过 宿主机IP:7860 访问
  • 宿主机可以通过 localhost:7860 访问
  • 局域网内其他主机,可以通过 宿主机IP:7860 访问

原因&解决方案

之前折腾过Hyper-V虚拟机,WSL的环境有点乱

Docker Desktop在Windows上是跑在WSL2虚拟机里的,如果mirrored网络模式下,主机地址回环没有打开,则无法在虚拟机和宿主机之间双向访问;如果是NAT模式,则可以不勾选

wsl设置 - 网络 - 主机地址环回,勾选

之后重启wsl 

wsl --shutdown

其他原因排查

在宿主机起一个服务,分别通过 ip 和 localhost 访问;若都正常,说明非宿主机环境问题

python -m http.server 7861 --bind 0.0.0.0

勾选docker desktop 的 Enable host networking,位置在设置 - Resources - Network;若仍然无法访问,证明非docker 客户端问题

若无次选项,请更新客户端

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章