我有一个功能完善的运行Open WebUI的系统,如下:
我使用以下方式安装了 docker 容器:
$ docker run --runtime=nvidia -d --network=host --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
我在使用主机系统访问它时没有任何问题,但我想知道如何从网络中的另一台计算机访问它,只需在浏览器中输入我机器的固定 IP 地址(如 192.168.x.x): 8080.
我在阅读了一些内容后找到了解决方案。
解决方案是针对 Windows 主机,首先我在管理模式下使用 Powershell 进行端口转发:
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=[WSL_IP]
只需将 [WSL_IP] 替换为您的 WSL 实例 IP。
然后在防火墙上打一个洞,以允许从外部访问此端口:
New-NetFirewallRule -DisplayName "Allow WSL2 Port" -Description "To allow Open WebUI through the firewall." -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080
然后就完成了!