这个问题的解决方法其实很简单,还是自己没有全局的思考好网络脉络造成的。

起因:
原有的一台 linux 机器需另作他用,上面的一些镜像需要迁移处理,正好手头有 1 台配置还不错的 windows11 的机器,而且也可以通过 WSL 安装 podman,配合 podman desktop,就准备迁移过来。

问题:
升级好 WSL,使用了 podman desktop 启动了一个 influxdb 的 container,浏览器访问http://127.0.0.1:8086 也能访问,但使用 windows 主机 ip:8086 死活访问不了!
inspect 看下 container,bridge 模式,port 正确,podman 的 network 也检查一番均无问题,百度、google 一圈依然没头绪...

解决:
直到一些文章说什么修改 podman 的配置(其实没关系),我才意识到,podman 其实是安装到 windows 的 linux 子系统中的,使用 wsl 命令,检查子系统的 ip。

使用子系统的 ip:8086 就能访问。
顿时觉得自己傻了:这些 container 端口映射的是 linux 子系统,不是主 windows 系统;一开始就没想好这层

这个情况下,需要在 windows 在做一次端口映射转发,就解决了
netsh interface portproxy add v4tov4 listenport=8086 listenaddress=0.0.0.0 connectport=8086 connectaddress=172.25.33.100


↙↙↙阅读原文可查看相关链接,并与作者交流