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 和 Containerd 目录结构及存储机制详解
Docker和Containerd是两种流行的容器运行时工具,它们都有自己的目录结构和存储机制,本文详细介绍了Docker和Containerd的目录结构和存储机制,并对比了它们之间的主要区别,包括存储路径、挂载点管理、配置文件和日志文件,感兴趣的朋友一起看看吧2025-02-02
Docker Compose 两种安装与使用方案(适用于 Docker 19.0
本文以Docker 19.03.15(Ubuntu 20.04)为例,详细对比这两种方式的安装、使用和特点,帮助你快速选择适合自己的方案,感兴趣的朋友跟随小编一起看看吧2026-01-01
Docker Compose 搭建简单的Python网络应用程序(步骤详解)
在这个页面上,你可以建立一个简单的Python网络应用程序,运行在Docker Compose上,这篇文章主要介绍了Docker Compose 搭建简单的Python网络应用程序,需要的朋友可以参考下2022-07-07


最新评论