求教如何在局域网内访问基于 wsl 的 docker - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
miotando
V2EX    Windows

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

  •  
  •   miotando 2024-01-27 22:28:00 +08:00 3365 次点击
    这是一个创建于 623 天前的主题,其中的信息可能已经有所发展或是发生改变。

    宿主机: 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, 也不行.

    第 1 条附言    2024-01-28 00:06:42 +08:00

    刚才在尝试的时候意外地发现, 在局域网其他机器是能访问的, 只是宿主机不能访问它自己. 之前都是在宿主机内尝试访问, 所以一直连不上

    使用 python3 -m http.server 8000 启动一个小伺服器

    启动位置 \ 从哪里访问 宿主 wsl 宿主 win 局域网
    宿主机 wsl 启动 192.168.31.132:
    localhost:
    127.0.0.1:
    192.168.31.132:
    localhost:
    127.0.0.1:
    192.168.31.132:
    宿主机 win 启动 192.168.31.132:
    localhost:
    127.0.0.1:
    192.168.31.132:
    localhost:
    127.0.0.1:
    192.168.31.132:

    有没有大佬能解释下为什么会这个样子

    11 条回复    2024-01-29 00:03:05 +08:00
    yijiangchengming
        1
    yijiangchengming  
       2024-01-27 23:00:28 +08:00
    那是因为 WSL 内端口只转发到了 Windows 内的 127.0.0.1 ,没有监听局域网地址。需要在 Windows 内设置端口转发。
    使用 PortProxyGUI 这个软件手段设置转发。
    renmu
        2
    renmu  
       2024-01-27 23:10:24 +08:00 via Android
    你本地起个 http 服务,关闭所有防火墙,看看其他设备能否访问,排除一下防火墙的问题
    echo1937
        3
    echo1937  
       2024-01-27 23:37:30 +08:00
    说一下我的环境:
    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 ,都能直接访问到暴露的端口和服务。
    500
        4
    500  
       2024-01-27 23:45:18 +08:00 via iPhone
    ,我也有这个问题,设置 mirrored 网络后,局域网其他机器想访问自己的 FTPs990 端口,直接报拒绝连接
    PrinceofInj
        5
    PrinceofInj  
       2024-01-27 23:45:50 +08:00
    用的最新的 wsl ,直接使用没问,刚开始的时候怎么都访问不了,后来突然想起来 windows 防火墙没开,把 windows 防火墙端口放行之后一切正常。启用了 wsl 的最新使用功能。
    500
        6
    500  
       2024-01-27 23:50:25 +08:00 via iPhone
    @PrinceofInj 是设置的 mirrored 网络模式吗
    Yuhyeong
        7
    Yuhyeong  
       2024-01-27 23:55:21 +08:00
    docker 内 0.0.0.0 ,在宿主机实际只是 127.0.0.1 吧可能。做一个端口转发吧
    miotando
        8
    miotando  
    OP
       2024-01-28 00:11:12 +08:00
    @renmu 关闭了防火墙, 本地起了服务, 发现了比较意外的事情: 局域网其他设备是能访问的, 但是宿主机不能访问自己, 之前一直在宿主机内尝试访问, 以为连不上
    hzymyp
        9
    hzymyp  
       2024-01-28 00:22:30 +08:00 via iPhone   1
    hostAddressLoopback=true
    d4fg4
        10
    d4fg4  
       2024-01-28 09:31:22 +08:00 via Android
    开镜像网络
    leconio
        11
    leconio  
       2024-01-29 00:03:05 +08:00 via iPhone
    我一般是装 hyper 管理器然后新建网络换桥接。但意义不大,Windows 睡眠 wsl 就挂了,局域网也通不了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1872 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:01 PVG 08:01 LAX 17:01 JFK 20:01
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86