Nginx 在单个服务器中管理和利用多个Docker容器(微服务)

Nginx 在单个服务器中管理和利用多个Docker容器(微服务),nginx,docker,containers,lxc,microservices,Nginx,Docker,Containers,Lxc,Microservices,我有一个GCE(Google Compute Engine)服务器,运行在端口80处的Nginx/Apache web服务器,该服务器将为网站提供服务。同时,我有多个微服务与Docker容器在同一台服务器上运行。每个容器都将在其相应的本地IP地址上提供一个网站,并且我已经将其绑定到localhost:PORT。我不想将端口绑定到公共IP地址,因为它会将微服务公开给外部世界 现在的问题是,我必须将容器提供的网站页面嵌入到web服务器端口80上运行的网站。由于嵌入代码是由浏览器执行的,因此我不能在p

我有一个GCE(Google Compute Engine)服务器,运行在端口80处的Nginx/Apache web服务器,该服务器将为网站提供服务。同时,我有多个微服务与Docker容器在同一台服务器上运行。每个容器都将在其相应的本地IP地址上提供一个网站,并且我已经将其绑定到localhost:PORT。我不想将端口绑定到公共IP地址,因为它会将微服务公开给外部世界

现在的问题是,我必须将容器提供的网站页面嵌入到web服务器端口80上运行的网站。由于嵌入代码是由浏览器执行的,因此我不能在python/HTML代码中使用本地IP(172.17.0.x)或localhost:PORT

现在,我如何将容器中本地运行的微服务页面嵌入到为用户服务的网站中

例如:

我的服务器的公共IP:104.145.178.114 该网站的服务地点为:104.145.178.114:80 在同一台服务器内,我们在本地IP上运行多个微服务,如172.17.0.1172.17.0.2等等。每个容器都有一个运行在其内部的服务器,该服务器将在172.17.0.1:8080/test.html处为页面提供服务,其他容器也是如此。现在,我需要将这个页面test.html嵌入到另一个网页中,该网页由位于104.145.178.114的Nginx/Apache web服务器提供服务,而不向公众公开内部/本地IP端口


我想听听关于这个问题的建议和替代解决方案

我假设Nginx可以访问所有内部docker IP(微服务)。除非我遗漏了什么,否则proxy_pass()应该适合您。您可以采用某种(外部可用的)url模式来代理到您的microservice容器,而无需向世界公开microservice端口。

如果您不理解,或者我的问题有任何错误,请各位提问。简单地否决我的问题并没有真正的帮助。