[Kibana+Docker] Docker Compose 내 elasticsearch.hosts 설정
Elastic/Kibana 2020. 9. 10. 16:56기본적으로 config/kibana.yml 에서는 array 로 설정을 하게 되어 있습니다.
Kibana : Multi-Elasticsearch 로 등록이 가능 하다는 것인데요.
Kibana 를 Docker 로 구성 할 경우 일반적인 yaml 문법의 array 등록 방식으로 작성을 하게 되면 에러가 발생을 합니다.
그래서 아래와 같이 작성을 하셔야 합니다.
[Code Example]
version: "3.7"
services:
dockerr-kibana:
image: docker.elastic.co/kibana/kibana:7.9.1
container_name: docker-kibana
environment:
ELASTICSEARCH_HOSTS: '["http://host.docker.internal:9200","http://host.docker.internal:9201","http://host.docker.internal:9202"]'
ports:
- 5601:5601
expose:
- 5601
restart: always
network_mode: bridge
[Error Code]
version: "3.7"
services:
dockerr-kibana:
image: docker.elastic.co/kibana/kibana:7.9.1
container_name: docker-kibana
environment:
ELASTICSEARCH_HOSTS:
- "http://host.docker.internal:9200"
- "http://host.docker.internal:9201"
- "http://host.docker.internal:9202"
ports:
- 5601:5601
expose:
- 5601
restart: always
network_mode: bridge
[Error Message]
$ docker-compose up
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.dockerr-kibana.environment.ELASTICSEARCH_HOSTS contains ["http://host.docker.internal:9200", "http://host.docker.internal:9201", "http://host.docker.internal:9202"],
which is an invalid type, it should be a string, number, or a null