当前位置: 首页 > 知识库问答 >
问题:

无法设置docker compose文件以在7.3.2版上启动kibana

宗安宁
2023-03-14

我正在寻找一个docker compose文件的工作版本,该文件在docker for mac 7.3.2版上启动kibana和elasticsearch。我遵循了kibana和elasticsearch的7.3.2文档以及docker compose的最新说明。下面的yml文件是我从两个文档中收集到的内容的结合。(关于docker compose配置,kibana文档是最模糊的)。我还尝试了以下其他堆栈溢出文章(为旧版本编写),但它们似乎不适用于最新版本。我现在怀疑我遗漏了一些特定于版本的东西。7.3.1也不能使用相同的配置。

我应该注意到文件的elasticsearch部分工作正常;我可以点击http://localhost:9200并得到json响应。但是Kibana的url(http://localhost:5601)返回Kibana服务器还没有准备好这个错误:

kibana |{“类型”:“日志”,“时间戳”:“2019-09-12T21:45:04Z”,“标签”:[“警告”,“弹性搜索”,“管理”],“pid”:7,“消息”:“无法恢复连接:http://elasticsearch:9200/"}

这是我迄今为止最好的尝试:

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.2
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es02
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - esnet
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.2
    container_name: es02
    environment:
      - node.name=es02
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata02:/usr/share/elasticsearch/data
    networks:
      - esnet
  kibana:
    container_name: kibana
    image: docker.elastic.co/kibana/kibana:7.3.2
    ports:
      - 5601:5601
    networks:
      - esnet  
    environment:
      SERVER_NAME: kibana.example.org
      ELASTICSEARCH_URL: http://elasticsearch:9200

volumes:
  esdata01:
    driver: local
  esdata02:
    driver: local

networks:
  esnet:

共有3个答案

尚恩
2023-03-14

您还需要在kibana服务中添加网络配置,如
网络:
-esnet

在ELASTICSEARCH_主机中:http://es01:9200

Note es01是您的容器名称

昌琪
2023-03-14

使用ELASTICSEARCH_HOSTS:超文本传输协议://es01:9200代替ELASTICSEARCH_URLdocker-compose.yml文件更新环境。这是关于环境变量配置的Elasticsearch留档https://www.elastic.co/guide/en/kibana/current/docker.html#environment-variable-config.

钱季
2023-03-14

Docker Compose会自动为您创建一个专用Docker网络,其中,服务:块的名称是有效的主机名。

当你设定

ELASTICSEARCH_URL: http://elasticsearch:9200

没有一个容器被命名为elasticsearch,因此主机名查找失败,但如果选择节点es01es02,它将工作

ELASTICSEARCH_URL: http://es01:9200

(请注意,您并不明确需要网络:定义才能工作,Compose将为您创建一个名为默认的网络。您也不需要显式设置container_name:,除非您打算尝试使用非Compose工具管理相同的容器。)

 类似资料:
  • 我刚开始在我的电脑上安装Xampp和MySQL。然后当我想从xampp控制面板启动MySQL时,它不起作用。 控制面板中的消息说“正在尝试启动MySQL服务…”,但状态不会变为绿色(我启动了Apache,它可以工作) 我曾尝试重新安装MySQL和Xampp,但没有成功。谷歌搜索也没有多大帮助。 我已经检查过MySQL服务正在3306端口上运行。有时当我试图从Xampp控制面板启动MySQL时,它说

  • 我已经使用SpringWebFlux版本2.3.0编写了一个反应式API。发布Reactornetty版本0.9.10。作为API SLA的一部分,如果服务器执行的WriteTimeout超过了规定的配置,我想让请求超时。 分享下面截取的代码,我在这里为NettyReactiveWebServerFactory实现了一个定制器。 尽管有定制器,WriteTimeout仍不能用于API。

  • 我在我的Ubuntu VM上安装了Hive和Hadoop。 当我在终端上启动时,我会得到以下信息: SLF4J:类路径包含多个SLF4J绑定。slf4j:在[jar:file:/opt/apache-hive-2.3.5-bin/lib/log4j-Slf4j-impl-2.6.2.jar!/org/slf4j/impl/staticloggerbinder.class]中找到绑定slf4j:在[

  • 我用Delphi 10.3完成的应用程序正在android版本7上成功启动并监控我的android服务。但在Android版本8以上,我发现错误: java.lang.IllegalStateException:不允许启动Intent... app在后台uid为空 发现从版本8开始,Android已更改策略。我应该使用startForegroundService,但我不清楚如何从服务中响应以通知A

  • 问题内容: 我有一个位于共享网络位置的文件: (有意留有空格) 如下代码: 打印到该文件存在的控制台( System.out.println(f.exists()); ),但抛出此异常!: 有谁知道为什么会发生这种情况?我已经尝试了从创建URI到随后对其进行解码的所有操作……没有任何效果。 问题答案: 当您尝试访问路径中带有空格的网络驱动器上的资源时,似乎存在一个错误。请参阅Sun的错误数据库中的

  • 我在mac os big Sur上。我完全重新安装了java、jdk和NetBeans。它开始了,但是当我试图安装插件时,我得到了一条错误消息,上面写着“jdk丢失,需要运行一些netbeans模块”。在此之后,我将netbeans_jdkhome设置为我的jdk位置。现在我的netbeans甚至无法打开(最新版本)