树莓派Web界面中客户端/服务端的主机名与端口通信问题
问题分析与解决办法
核心问题
你客户端代码里配置的服务端地址是localhost:8008或127.0.0.1:8008,这会导致桌面浏览器访问树莓派客户端时,把localhost解析成你的桌面电脑本身,而非树莓派,自然无法连接到树莓派上的服务端。
修复步骤
修改客户端的服务端地址配置
把客户端里指向服务端的地址换成树莓派的局域网IP(比如192.168.x.x:8008),或者直接用raspberrypi.local:8008,这样桌面浏览器就能正确定位到树莓派上的服务端。精简Docker Compose配置(可选)
既然启用了network_mode: host,容器直接使用宿主机的网络栈,ports映射完全多余,可以删掉,优化后的配置如下:services: client: build: client/. network_mode: host server: build: express/. network_mode: host volumes: - /home:/home验证端口连通性
在桌面电脑上先执行ping raspberrypi.local确认网络可达,再用curl raspberrypi.local:8008测试服务端端口是否正常响应。如果不通,检查树莓派是否开启了防火墙(默认未开启,若开启需放行8008端口)。
内容的提问来源于stack exchange,提问作者D Liebman
相关产品推荐
相关产品推荐

