
让容器里 Nginx 把请求发到宿主机上监听的那个端口
① Docker Desktop(Mac / Windows)
宿主机在容器里固定叫 host.docker.internal,直接用:
proxy_pass http://host.docker.internal:8080;
无需改网络,也无需知道真实 IP
② Linux 原生 Docker(最常用)
宿主机 IP 通常是 172.17.0.1(默认 bridge 网关)
在容器里执行:
ip route | awk 'NR==1 {print $3}'
或者 把你的 compose 网络改成 network_mode: "host",此时容器与宿主机共用网络,可直接写 127.0.0.1:
services:
prod:
network_mode: host # Linux only
proxy_pass http://127.0.0.1:8080/gpAdmin/;
③ 已知宿主机 LAN IP
如果宿主机在局域网固定 IP,例如 192.168.1.100,且容器网络能路由出去,也可直接写:
proxy_pass http://192.168.1.100:8080;