【问题标题】:Docker: Multiple container on port 80 without NGinxDocker:端口 80 上的多个容器,没有 NGinx
【发布时间】:2017-09-07 10:53:24
【问题描述】:

我想在同一个虚拟机上运行多个 Web 服务器。每个 Web 服务器都是 dockerized。

是否可以使用 docker 功能在端口 80 上运行多个具有不同域的 dockerized Web 服务器?

我找到了许多基于 NGinx 代理的解决方案,例如 here ,但我没有找到任何用户定义的网络使用来解决这个问题。

在不运行反向代理的情况下有没有解决这个问题的方法?

【问题讨论】:

  • 为什么不能运行一个 Web 服务器并代理到正确的应用程序容器?

标签: linux docker nginx networking docker-compose


【解决方案1】:

没有。

主机服务器上只有一个“真实”端口 80(对于每个网络地址),因此您需要能够在那里侦听并转发到不同后端服务器的东西。

这不是特定于 docker 的问题。您也不能在单个端口上运行多个(非 Docker)Web 服务器(每个域一个)。

那东西不一定是 nginx。

【讨论】:

    【解决方案2】:

    据我所知,一般来说,让多个容器监听端口 80 或同一个端口是行不通的。

    您可以在 VM 上打开不同的端口,并让应用程序专门监听这些端口中的每一个。

    例如,您可以让您的第一个应用程序监听端口 80。然后您的第二个应用程序监听端口 81,等等。

    【讨论】:

      【解决方案3】:

      首先可以在同一个端口上运行多个域,但要求是:

      1. 您将网站托管在同一个 Web 服务器(Apache HTTPD 或 Nginx)上
      2. 您正在使用虚拟主机

      如果需要,可以将一台服务器容器化。

      这里是 the example 在一个 Nginx Web 服务器上运行两个域。

      所以根据您的要求,这可以是解决方案。

      【讨论】:

        猜你喜欢
        • 2016-07-23
        • 1970-01-01
        • 2017-01-29
        • 2022-11-16
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 2015-12-03
        • 1970-01-01
        相关资源
        最近更新 更多