Nginx 代理管理器无法从另一个 docker 容器提供页面

Adr*_*and 5 docker docker-container docker-network nginx-reverse-proxy

我正在尝试让 nginx 代理管理器(在 docker 容器中运行)连接到另一个打开了端口 8080 的 docker 容器。当我设置代理连接到192.168.0.29:8080主机的IP地址,但它不起作用时,浏览器只是说该站点没有发送任何数据。

我尝试使用其他服务(不在 docker 容器内运行)设置反向代理,它们工作完美。所以,我得出的结论是,问题出在 docker 容器上。

首先,我尝试用容器的地址(显示在 portainer 中)替换 ip 地址,该地址显示为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
Run Code Online (Sandbox Code Playgroud)

Adr*_*and 5

经过大量搜索和测试,我找到了问题的解决方案,而且非常简单。解决方案是在主机网络而不是桥接网络上启动 nginx 代理管理器 docker 容器。然后,您可以使用 localhost 和端口来引用您要重定向到的服务。

  • 这有效,但现在我的 NGINX 代理管理器无法再通过端口 81 访问。我配置的站点现在可以正常工作。我怎样才能同时运行? (3认同)