由于 xpack 安全错误,Kibana docker 图像无法启动

Kibana docker image fails to start due to xpack security error

我正在尝试 运行 docker 图片:docker.elastic.co/kibana/kibana:6.2.4

用于运行的命令:

docker run -d -e "xpack.monitoring.enabled=false" -e "xpack.monitoring.ui.container.elasticsearch.enabled=false" --name kibana --restart always -p 5601:5601 docker.elastic.co/kibana/kibana:6.2.4

但是,它无法 运行 并给出以下预期:

{"type":"log","@timestamp":"2018-09-28T08:04:05Z","tags":["fatal"],"pid":8,"message":"\"xpack.monitoring.ui.container.elasticsearch.enabled\" setting was not applied. Check for spelling errors and ensure that expected plugins are installed and enabled."}
FATAL "xpack.monitoring.ui.container.elasticsearch.enabled" setting was not applied. Check for spelling errors and ensure that expected plugins are installed and enabled.

xpack 在 elasticsearch 容器中被禁用,同时使用 -e 标志来禁用 xpack。

docker inspect elastic 

给予

 "StdinOnce": false,
            "Env": [
                "xpack.security.enabled=false",
                "PATH=/usr/share/elasticsearch/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "ELASTIC_CONTAINER=true",
                "JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk"
            ],

运行 没有 xpack 环境变量的 kibana 也不起作用:

docker run -d --name kibana --restart always -p 5601:5601 docker.elastic.co/kibana/kibana:6.2.4

我该如何解决这个问题?

您可以使用 oss 不包含 xpack 的 kibana 风味。

docker.elastic.co/kibana/kibana-oss:6.2.4

如果您不想使用 oss 风格,您可以使用以下命令删除插件:

[ "/bin/bash", "-c", "/usr/share/kibana/bin/kibana-plugin remove x-pack; /usr/local/bin/kibana-docker" ]

甚至您可以通过提供超过 monitoring 的所有需要​​的环境来禁用 kibana xpack 插件功能(它包括 security 和 xpack 的其他部分)。 正如@Ignacio Millán 所说,它的语法有点不同:

-e "XPACK_MONITORING_ENABLED=false"

根据 docs

,正确的环境变量具有不同的语法

所以命令应该是:

docker run -d -e XPACK_MONITORING_UI_ENABLED=false --name kibana --restart always -p 5601:5601 docker.elastic.co/kibana/kibana:6.2.4

您还可以使用 YAML 文件来更轻松地配置 Kibana:

docker run -d -v `pwd`/kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana --restart always -p 5601:5601 docker.elastic.co/kibana/kibana:6.2.4

在 Kibana 中禁用 XPack

更新配置中的环境变量

  xpack.security.enabled: 'false'
  xpack.monitoring.enabled: 'false'
  xpack.watcher.enabled: 'false'
  xpack.ml.enabled: 'false'

这是在kibana中禁用xpack的简单yml配置

version: '3.4'

services:
  kibana:
      image: docker.elastic.co/kibana/kibana:6.6.0
      container_name: kibana
      environment:
        # ELASTICSEARCH_URL: "http://127.0.0.1:9200"
        xpack.security.enabled: 'false'
        xpack.monitoring.enabled: 'false'
        xpack.watcher.enabled: 'false'
        xpack.ml.enabled: 'false'
      ports: 
        - 5601:5601