Kibana不能达到elasticsearch

使用docker-compose v3并部署到群集:

version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1 deploy: replicas: 1 ports: - "9200:9200" tty: true kibana: image: docker.elastic.co/kibana/kibana:5.4.1 deploy: mode: global ports: - "5601:5601" depends_on: - elasticsearch tty: true 

我在kibana服务日志中看到这个:

无法恢复连接: http:// elasticsearch:9200 /

Elasticsearch服务正在运行,可以到达。 群由3个节点组成。

我错过了什么?

更新:事实certificate,如果我尝试访问弹性search运行的同一个群集节点上的kibana,它将起作用。 所有其他节点或者有networking问题,或者无法parsing弹性search名称。

我find了原因,并find了解决办法。 我的群集在AWS上运行 – 所有节点都放置在同一个安全组中,并假定所有端口都在该安全组内部打开。 事实并非如此。 我明确地configuration了安全组,以允许入站stream量按照dockers路由网格规范: https : //docs.docker.com/engine/swarm/ingress/

默认情况下,Docker-compose会生成一个networking,并将其中的所有服务。 但是我不知道是否在docker群中发生了变化。 要定义它,你可以做到这一点。

 version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1 deploy: replicas: 1 ports: - "9200:9200" tty: true networks: - some-name kibana: image: docker.elastic.co/kibana/kibana:5.4.1 deploy: mode: global ports: - "5601:5601" links: - elasticsearch depends_on: - elasticsearch tty: true networks: - some-name networks: some-name: driver: overlay 

我希望它能为你服务,我会等待消息。