【问题标题】:How Can I Link a Apache and Tomcat Containers Over AJP?如何通过 AJP 链接 Apache 和 Tomcat 容器?
【发布时间】:2016-07-04 02:36:34
【问题描述】:

我创建了 2 个 Docker 映像。一个是tomcat,另一个是apache。 我可以让它们单独运行,但我正在尝试通过 AJP 将 apache 代理到 tomcat

我知道 2 个正在运行的映像不知道每个映像,但是有没有办法将 AJP 端口链接到 apache?

目前我得到以下信息:

[Thu Mar 17 15:49:43.373689 2016] [proxy:error] [pid 11:tid 140213099689728] (111) 连接被拒绝:AH00957: AJP: 尝试连接到 127.0.0.1:8009 (localhost) 失败 [Thu Mar 17 15:49:43.373836 2016] [proxy:error] [pid 11:tid 140213099689728] AH00959: ap_proxy_connect_backend 为 (localhost) 禁用工作器 60 秒 [2016 年 3 月 17 日星期四 15:49:43.373852] [proxy_ajp:error] [pid 11:tid 140213099689728] [客户端 192.168.5.1:34864] AH00896:无法连接到后端:本地主机 192.168.5.1 - - [17/Mar/2016:15:49:43 +0000] "GET / HTTP/1.1" 503 299

【问题讨论】:

    标签: apache docker tomcat7


    【解决方案1】:

    使用 docker,您有多种方法可以做到这一点。最好的方法是设置一个 docker bridge 网络(假设您在同一主机上运行它们)。运行中的图像也称为容器。

    要做到这一点,你必须做几件事:

    1. 创建一个桥接网络

      “docker 网络创建我的网络”

    2. 将“--net=my-net”添加到两个容器的 docker run 命令中

    3. 更新您的连接信息以使用容器名称作为主机名,而不是使用“localhost”或 127.0.0.1。 (当你在同一个 docker 网络上运行容器时,docker 会做一些 DNS 魔术,让它们可以通过与其容器名称匹配的主机名进行访问。

    编辑:

    如果您运行的是 1.9 之前的版本,则必须使用“链接”命令:https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/

    或者您可以使用 --net=host 运行这两个容器,这将使它们能够通过 localhost 相互访问。 (问题是你失去了容器的封装,它基本上打开了该容器的所有端口到主机。

    【讨论】:

    • 我看到这个network 命令是一个选项,不幸的是我还发现它只在 1.9 中引入。我所在的主机还不支持。
    猜你喜欢
    • 2017-04-26
    • 2018-03-31
    • 2022-08-22
    • 2012-11-01
    • 2013-10-10
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多