Kibana docker 与外部弹性搜索组合

Kibana docker compose with external elastic search

我有以下 docker 撰写文件。我正在尝试将另一台机器上的弹性搜索 运行 连接到 kibana。

version: '3.3'

services:

  kibana_ci:
    image: docker.elastic.co/kibana/kibana:6.3.2
    environment:
      ELASTICSEARCH_URL: http://my_domain:9200
    container_name: kibana_ci
    command: kibana
    ports:
      - "5601:5601"

但是 kibana 一直在尝试连接到 http://elasticsearch:9200/ url。我还尝试了以下没有用的选项。

    environment:
      - "ELASTICSEARCH_URL=http://my_domain:9200"
    environment:
      - "KIBANA_ELASTICSEARCH_URL=http://my_domain:9200"
    environment:
      KIBANA_ELASTICSEARCH_URL: http://my_domain:9200
    environment:
      elasticsearch.url: http://my_domain:9200

如何更改 docker 撰写文件中的 url(不覆盖 kibana.yml 文件)。

这个撰写文件适合我:

version: '3.3'
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:6.3.2
    environment:
      SERVER_NAME: kibana.example.org
      ELASTICSEARCH_URL: http://my_domain

您不需要定义默认端口 9200

kibana_1  | {"type":"log","@timestamp":"2018-09-20T16:58:31Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://my_domain:9200/"}
kibana_1  | {"type":"log","@timestamp":"2018-09-20T16:58:31Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
kibana_1  | {"type":"log","@timestamp":"2018-09-20T16:58:34Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://my_domain:9200/"}
kibana_1  | {"type":"log","@timestamp":"2018-09-20T16:58:34Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}

对于那些将在 Kibana 7.5 中遇到相同问题的人,您将不得不使用 ELASTICSEARCH_HOSTS 环境变量而不是 ELASTICSEARCH_URL,如下所示:

kibana:
    image: docker.elastic.co/kibana/kibana:7.5.2
    container_name: kibana
    environment:
      ELASTICSEARCH_HOSTS: http://es01:9200
    ports:
      - 5601:5601
    depends_on:
      - es01
    networks:
      - elastic

您还可以通过以下 link 查看所有可用环境变量的列表,以及如何在 docker 环境中进行设置: https://www.elastic.co/guide/en/kibana/7.5/docker.html