求教如何在局域网内访问基于 wsl 的 docker

102 天前
 miotando

宿主机: win11, 启用了 wsl 2.0.0, 在 windows 中安装了 Docker WSL 2 backend.

wsl 2.0.0 启用了 networkingMode=mirrored, 所以 wsl 内使用 ifconfig 和 windows 中得到的结果是一样的, 本机 ip 192.168.31.132

现在以如下指令启动了 AutoBangumi:

docker run -d \
  --name=AutoBangumi \
  -v ${HOME}/AutoBangumi/config:/app/config \
  -v ${HOME}/AutoBangumi/data:/app/data \
  -p 7892:7892 \
  -e TZ=Asia/Shanghai \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -e UMASK=022 \
  --network=bridge \
  --dns=8.8.8.8 \
  --restart unless-stopped \
  ghcr.io/estrellaxd/auto_bangumi:latest

查看日志可以发现已经开始监听 7892 端口: [2024-01-27 18:40:26] INFO: Uvicorn running on http://0.0.0.0:7892 (Press CTRL+C to quit)

现在的状况是:

宿主机 windows 使用 localhost:7892 可以正常访问, 但是宿主机和局域网内其他设备使用 192.168.31.132:7892 无法访问到 AutoBangumi

已经进行过的尝试:

将 -p 7892:7892 改为 -p 192.168.31.132:7892:7892, 依然无法访问, 同时 localhost:7892 也挂了.

猜测是防火墙问题, 关闭了宿主机 windows 的防火墙, wsl 默认好像就没有装 iptables 和 firewalld, 也不行.

1829 次点击
所在节点    Windows
11 条回复
yijiangchengming
102 天前
那是因为 WSL 内端口只转发到了 Windows 内的 127.0.0.1 ,没有监听局域网地址。需要在 Windows 内设置端口转发。
使用 PortProxyGUI 这个软件手段设置转发。
renmu
102 天前
你本地起个 http 服务,关闭所有防火墙,看看其他设备能否访问,排除一下防火墙的问题
echo1937
102 天前
说一下我的环境:
docker desktop wsl2 backend ,安装 Ubuntu 20.04 ,
进入 desktop 的 resource -- wsl integration 中,
选择 Enable integration with my default WSL distro ,并选中这个 Ubuntu 20.04

然后无论在 wsl 中还是 Windows 中,都可以使用 docker 命令启动容器,
并且无论是 localhost 还是局域网 ip ,都能直接访问到暴露的端口和服务。
paulluis2dev
102 天前
😄,我也有这个问题,设置 mirrored 网络后,局域网其他机器想访问自己的 FTPs990 端口,直接报拒绝连接
PrinceofInj
102 天前
用的最新的 wsl ,直接使用没问题,刚开始的时候怎么都访问不了,后来突然想起来 windows 防火墙没开,把 windows 防火墙端口放行之后一切正常。启用了 wsl 的最新使用功能。
paulluis2dev
102 天前
@PrinceofInj 是设置的 mirrored 网络模式吗
Yuhyeong
102 天前
docker 内 0.0.0.0 ,在宿主机实际只是 127.0.0.1 吧可能。做一个端口转发吧
miotando
102 天前
@renmu 关闭了防火墙, 本地起了服务, 发现了比较意外的事情: 局域网其他设备是能访问的, 但是宿主机不能访问自己, 之前一直在宿主机内尝试访问, 以为连不上
hzymyp
102 天前
hostAddressLoopback=true
d4fg4
102 天前
开镜像网络
leconio
101 天前
我一般是装 hyper 管理器然后新建网络换桥接。但意义不大,Windows 睡眠 wsl 就挂了,局域网也通不了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1012110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX