以下是我所面临问题的概述。
假设我有一个 x.x.x.x 实例,并且我正在运行以下服务。
服务运行良好我可以使用实例网址及其IP来访问服务。
问题:
我的服务1(Prometheus)需要使用 hosturl:ip 访问service2(alertmanager),即XXXX:9090是在尝试访问XXXX时:9093不可能抛出以下错误。
我的测试方式: 进入service1容器并试图telnet它
telnet: can't connect to remote host (X.X.X.X): No route to host
我不确定但是已经意识到这是由于docker防火墙问题造成的。如果是,那么可以做什么或该方案的可能解决方案是什么。如何使用<使service1可以访问service2 hostIP:port>
docker ps结果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ac39e87eb27 prom/alertmanager "/bin/alertmanager --" 53 minutes ago Up 53 minutes 0.0.0.0:9093->9093/tcp alertmanager_1
25a7de42d57f prom/prometheus "/bin/prometheus --co" 53 minutes ago Up 53 minutes 0.0.0.0:9090->9090/tcp
prometheus
注:的 我使用docker-compose运行服务。所以docker-compose解决方案会更受欢迎
答案 0 :(得分:0)
您好像没有关联自己的服务。正确的解决方案是从同一个docker-compose文件运行这两个服务并将它们链接到一起。您可以使用docker-compose服务名称从Prometheus访问另一个容器中的Alertmanager。