我创建了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)Connection refused: AH00957: AJP: attempt to connect to 127.0.0.1:8009 (localhost) failed [Thu Mar 17 15:49:43.373836 2016] [proxy:error] [pid 11:tid 140213099689728] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 60s [Thu Mar 17 15:49:43.373852 2016] [proxy_ajp:error] [pid 11:tid 140213099689728] [client 192.168.5.1:34864] AH00896: failed to make connection to backend: localhost 192.168.5.1 - - [17/Mar/2016:15:49:43 +0000] "GET / HTTP/1.1" 503 299
最佳答案
使用docker,您可以通过多种方法来执行此操作。最好的方法是设置一个docker bridge网络(假设您在同一主机上运行它们)。运行图像也称为容器。
为此,您必须做几件事:
“docker网络创建我的网络”
编辑:
如果您运行的是1.9之前的版本,则必须使用“链接”命令:https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/
或者,您可以使用--net = host运行两个容器,这将使它们可以通过localhost相互访问。 (这样做的问题是您丢失了容器的封装,并且它基本上打开了该容器的所有端口到主机的端口。
关于apache - 如何通过AJP链接Apache和Tomcat容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36065762/