Kibana 无法连接到 docker 上的 Elasticsearch
Kibana fails to connect to Elasticsearch on docker
我正在关注 https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docker.html
和
https://www.elastic.co/guide/en/kibana/6.5/docker.html
但是用kibana好像不太好用,ES可以用。
我尝试单独启动 kibana,但最后我将它添加到一个 docker-compose 文件中。
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: elasticsearch2
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata2:/usr/share/elasticsearch/data
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:6.5.4
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- 5601:5601
volumes:
esdata1:
driver: local
esdata2:
driver: local
networks:
esnet:
Kibana.yml 是:
server.host: "0.0.0.0"
server.name: "kibana"
elasticsearch.url: http://elasticsearch:9200
我收到以下错误:
kibana_1 | {"type":"log","@timestamp":"2019-06-11T08:55:30Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
kibana
容器与两个 elasticsearch
容器不在同一个网络上:它没有 networks:
块,因此在 automatically-created default
网络,但是两个 elasticsearch
容器在 explicitly-declared esnet
网络上。由于它们不在同一网络上,inter-container DNS 不起作用。
我建议只删除所有 networks:
块并使用 Docker Compose 为您创建的默认网络。如果您想要一个明确命名的网络,请将相同的 networks: [esnet]
行复制到 kibana:
服务块中。
我正在关注 https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docker.html 和 https://www.elastic.co/guide/en/kibana/6.5/docker.html 但是用kibana好像不太好用,ES可以用。
我尝试单独启动 kibana,但最后我将它添加到一个 docker-compose 文件中。
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: elasticsearch2
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata2:/usr/share/elasticsearch/data
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:6.5.4
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- 5601:5601
volumes:
esdata1:
driver: local
esdata2:
driver: local
networks:
esnet:
Kibana.yml 是:
server.host: "0.0.0.0"
server.name: "kibana"
elasticsearch.url: http://elasticsearch:9200
我收到以下错误:
kibana_1 | {"type":"log","@timestamp":"2019-06-11T08:55:30Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}
kibana
容器与两个 elasticsearch
容器不在同一个网络上:它没有 networks:
块,因此在 automatically-created default
网络,但是两个 elasticsearch
容器在 explicitly-declared esnet
网络上。由于它们不在同一网络上,inter-container DNS 不起作用。
我建议只删除所有 networks:
块并使用 Docker Compose 为您创建的默认网络。如果您想要一个明确命名的网络,请将相同的 networks: [esnet]
行复制到 kibana:
服务块中。