当前位置: 首页 > 面试题库 >

用于Elasticsearch 7.0.1和Kibana 7.0.1的docker-compose.yml

咸亦
2023-03-14
问题内容

我在Windows 10上将Docker Desktop与linux容器一起使用,并想通过docker
compose文件启动最新版本的elasticsearch和kibana容器。

使用某些旧版本(如6.2.4)时,一切正常。

这是6.2.4的工作docker-compose.yml文件。

version: '3.1'

services:

  elasticsearch:
   image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
   container_name: elasticsearch
   ports:
    - "9200:9200"
   volumes:
    - elasticsearch-data:/usr/share/elasticsearch/data
   networks:
    - docker-network

  kibana:
   image: docker.elastic.co/kibana/kibana:6.2.4
   container_name: kibana
   ports:
    - "5601:5601"
   depends_on:
    - elasticsearch
   networks:
    - docker-network

networks:
  docker-network:
    driver: bridge

volumes:
  elasticsearch-data:

我删除了所有已安装的Docker容器,并通过将6.2.4更改为7.0.1修改了docker-
compose.yml文件。通过启动新的compose文件,一切看起来都很好,即可启动elasticsearch和kibana容器。但是几秒钟后,elasticsearch容器退出了(kibana容器正在运行)。我重新启动了所有程序,将终端连接到elasticsearch容器,并看到以下错误消息:

...
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
...

为了使Elasticsearch 7.0.1正常工作,必须在docker-compose.yml文件中进行哪些更改?


问题答案:

进行一些更改对我有用-

  • cluster.initial_master_nodes在compose中添加到elasticsearch服务中-

    environment:
    
    • cluster.initial_master_nodes=elasticsearch
  • vm.max_map_count 在Linux机器上,内核设置至少需要设置为262144-

    $ sudo sysctl -w vm.max_map_count=262144
    

对于开发模式,您还可以使用以下设置-

    environment:
      - discovery.type=single-node

正在为我撰写文件-

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
    container_name: es01
    environment:
      - cluster.initial_master_nodes=es01
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200

对于生产模式,您必须考虑按照官方文档中的建议具有多个ES节点/容器

https://www.elastic.co/guide/zh-
CN/elasticsearch/reference/7.0/docker.html#docker-cli-run-prod-
mode



 类似资料:
  • 问题 我有一组客户端计算机,它们是企业web应用程序的一部分。每台机器运行相同的软件,这是一个连接到服务器的基于PYQT的web客户端。这个客户端软件是定期更新的,我希望有一些配置/供应工具,允许在每台机器上有相同的环境,从而提供软件在每个客户端机器上的轻松部署和配置。 是否可以使用Docker为基于GUI的应用程序(PyQt/Qt)提供开发/生产环境?如果是的话,要实现这一目标的第一步是什么?

  • 本文向大家介绍基于Docker的PHP调用基于Docker的Mysql数据库,包括了基于Docker的PHP调用基于Docker的Mysql数据库的使用技巧和注意事项,需要的朋友参考一下 docker简介: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不

  • 在Ubuntu上运行的Docker占用了18G的磁盘空间(在20G的分区上),导致服务器崩溃。下面的命令显示,“官方”图像、容器和卷大小与docker文件夹大小之间存在严重不匹配。 这是什么原因造成的?我该如何清理? 我已经试过了docker system prune,但没有用。

  • 我正在尝试在Windows机器上用NGINX和PHP-FPM在Docker中设置Symfony 3。目前,我得到一个502坏网关错误。我将FPM端口从9000更改为8000,因为在我的主机上,端口9000已被hyper-v服务vmms使用。exe。我不知道这是否有关系。 docker-compose.yml Dockerfile NGINX: 违约conf override NGINX:

  • 问题内容: 我正在构建一个使用postgresql在NodeJS上运行的应用程序。我正在将SequelizeJS用作ORM。为了避免使用真正的postgres守护程序并在自己的设备上安装nodejs,我使用了带有docker- compose的容器。 当我运行 它启动pg数据库 和nodejs服务器。但服务器无法连接到数据库。 如果我尝试在不使用容器的情况下运行服务器(在我的计算机上使用真正的no