You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WSL2+Windows11环境下无法通过localhost/127.0.0.1访问Docker容器应用的求助

WSL2+Windows11环境下无法通过localhost/127.0.0.1访问Docker容器应用的求助

各位好,最近在Windows11+WSL2(Ubuntu)的环境里踩了个坑,折腾半天没解决,来请教下大家:

我在WSL2里启动了一个Docker容器应用,端口映射配置的是0.0.0.0:8080->8080/tcp,容器状态看起来完全正常(docker ps显示已经稳定运行26分钟)。但在WSL的bash终端里,用curl localhost:8080或者127.0.0.1访问时,总是报错:

curl: (56) Recv failure: Connection reset by peer

但如果换成Windows PowerShell里ipconfig查到的物理网卡IP(比如我这里的192.168.0.241),在WSL bash里用curl 192.168.0.241:8080就能正常拿到应用的返回结果:

{"uptime":1145.711749106,"message":"OK","timestamp":1720939890098}

还有个更奇怪的现象:我的WSL子系统和Windows主机的主机名是相同的。在WSL bash里用curl <hostname>:8080访问会失败,但在Windows的PowerShell里用完全一样的命令,却能正常返回200状态码。

最让我费解的是,这套配置在另一台同样是Windows11+WSL2的电脑上完全正常,没有任何访问问题。

我已经确认过容器运行状态没问题,docker ps的输出如下:

docker ps
<container_id>   <image_name>            "docker-entrypoint.s…"   26 minutes ago   Up 26 minutes   0.0.0.0:8080->8080/tcp                ...

有没有朋友遇到过类似的情况?或者能给我一些排查的思路吗?麻烦各位了!

备注:内容来源于stack exchange,提问作者Patrick Horne

火山引擎 最新活动