我想在同一个VM上运行多个Web服务器。每个Web服务器都是dockerized。
是否可以使用docker功能在端口80上运行具有不同域的多个dockerized Web服务器?
我找到了许多基于NGinx代理的解决方案,例如here,但我找不到任何用户定义的网络用法来解决这个问题。
如果没有运行反向代理,是否有解决此问题的方法?
答案 0 :(得分:3)
没有
主机服务器上只有一个“真正的”端口80(对于每个网络地址),因此您需要能够在那里监听并转发到不同的后端服务器。
这不是特定于docker的问题。您无法在单个端口上运行多个(非Docker)Web服务器(每个域一个)。
那些东西不一定是nginx。
答案 1 :(得分:2)
据我所知,一般情况下,不能让多个容器监听端口80或同一端口。
您可以在VM上打开不同的端口,让应用程序专门监听每个端口。
例如,您可以让您的第一个应用程序侦听端口80.然后您的第二个应用程序侦听端口81等。
答案 2 :(得分:1)
首先,可以在同一端口上运行多个域,但要求是:
如果需要,可以将一台服务器集装箱化。
以下是在一个Nginx Web服务器上运行两个域的the example。
因此,根据您的要求,这可以成为解决方案。