web-dev-qa-db-ja.com

elasticsearch 7.0.1およびkibana 7.0.1のdocker-compose.yml

Windows 10のlinuxコンテナーでDockerデスクトップを使用していて、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ファイルを調整しました。新しい構成ファイルを開始すると、すべてが正常に表示され、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ファイルで何を変更する必要がありますか?

9
RickyTad

いくつかの変更を加えるとうまくいきました-

  • 追加 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/en/elasticsearch/reference/7.0/docker.html#docker-cli-run-prod-mode

25
vivekyad4v