【发布时间】:2021-09-19 17:23:40
【问题描述】:
我正在尝试让 nginx 代理管理器(在 docker 容器中运行)连接到另一个打开了 8080 端口的 docker 容器。当我设置代理连接到192.168.0.29:8080主机的IP地址,但它不起作用时,浏览器只是说该站点没有发送任何数据。
我尝试使用其他服务(不在 docker 容器中运行)设置反向代理,并且它们运行良好。所以,我得出结论,问题出在 docker 容器上。
首先,我尝试将 ip 地址替换为容器的地址(显示在 portainer 中),该地址显示为 172.17.0.2。但是,那没有用。我可以确认两个容器都在同一个网络中,bridge。
我在这里、Stack Overflow 或其他任何地方都找不到任何解决此问题的方法。希望有足够的数据来解决这个问题。提前谢谢!
编辑:
在容器内运行 arp -na 会给出以下输出:
[root@docker-00244f7ab2cc:/app]# arp -na
? (172.17.0.1) at 02:42:d1:fc:fc:6b [ether] on eth0
【问题讨论】:
-
如果两者在同一个网络中,那么您可以在您的 nginx 设置中使用
。你试过了吗? -
是的,我试过了,但也没用
-
您可以尝试使用网桥的网关 IP 地址吗?您可以通过运行
docker inspect bridge --format '{{(index .IPAM.Config 0).Gateway}}'来获取它 -
@OluwafemiSule 是的,我也试过了
-
你知道你的服务绑定的IP地址吗?它可能是
localhost,并且只能在容器本身内访问。尝试让您的服务监听网关 IP 地址或0.0.0.0。
标签: docker nginx-reverse-proxy docker-container docker-networking docker-network