docker无法通过宿主机IP访问容器内服务的问题解决
环境
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 客户端问题

若无次选项,请更新客户端
到此这篇关于docker无法通过宿主机IP访问容器内服务的文章就介绍到这了,更多相关docker无法通过宿主机访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker images,info,-d等命令报错的解决方法
最近刚接触Docker,所以在学习的过程中出现了好多的问题,百度上不好找,谷歌的话,楼主不会翻墙。后来通过各方求助和细心研究解决了一些遇到的问题,现在将遇到的问题和解决方法分享给大家,有需要的朋友们可以参考借鉴。2016-11-11
Dockerfile中multi-stage(多阶段构建)详解
在2017年5月3日即将发行的 Docker 17.05.0-ce 中,Docker 官方提供了简便的多阶段构建 (multi-stage build) 方案,下面这篇文章主要给大家介绍了关于Dockerfile中multi-stage(多阶段构建)的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。2018-03-03


最新评论