使用 Docker 在 Apache 后面添加新的 Tomcat 容器

Add new Tomcat containers behind Apache with Docker

我在 Apache 后面的 Tomcat 上有一个 Java 网络应用程序 运行。我想为每个新客户启动一个新的 Tomcat 容器,但他们都在同一个 Apache 后面。每个客户端都有自己的子域,Apache 将它们代理到正确的 Tomcat 实例。这是我为一位客户的 Apache 配置示例:

sites-enabled/app1.conf:

<VirtualHost *:80>
    ServerName app1.domain.com
    ProxyPass / ajp://tomcat1:8009/
    ProxyPassReverse / ajp://tomcat1:8009/
</VirtualHost>

然后我用 --link tomcat1 启动 Apache 容器,一切正常。

我想弄清楚如何做的是在 Apache 容器已经 运行 之后动态添加新的 Tomcat 容器,并让 Apache 正确引用它们。

问题是,即使动态添加 sites-enabled/app2.conf 到 Apache 容器,它也不起作用,因为 Apache 容器在启动时没有 --link tomcat2,因此它不起作用'知道如何到达新的 Tomcat 容器。

除了停止 Apache 容器并使用 --link tomcat2 参数重新启动它之外,你们有什么办法让它工作吗?

链接are considered legacy and have been replaced with networks。将apache和所有tomcat个容器加入到同一个bridge network中,实现它们之间的直接连接,然后你可以随意创建和删除tomcat个容器。