Elasticsearchの 公式のdocker image documentation はこれを提供しますdocker-compose.yml
の例:
version: '2'
services:
elasticsearch1:
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3
container_name: elasticsearch1
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_Java_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_Java_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch1"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- esdata2:/usr/share/elasticsearch/data
networks:
- esnet
volumes:
esdata1:
driver: local
esdata2:
driver: local
networks:
esnet:
ただし、パスワードのカスタマイズ方法については説明していません。 X-Packドキュメントページ に移動しますが、パスワードを変更するだけで問題をすべて解決する必要があるとは思いません。 Docker Composeファイルでelasticsearchのカスタムパスワードを構成する、より簡単で標準的な方法はありますか?
6.0以降のelasticsearch Dockerイメージには、環境変数ELASTIC_PASSWORDを使用してパスワードを設定する機能があります。
例えば:
docker run -e ELASTIC_PASSWORD = MagicWord docker.elastic.co/elasticsearch/elasticsearch-platinum:6.1.3
参照: https://www.elastic.co/guide/en/elasticsearch/reference/6.1/docker.html