如何更改docker-compose中的默认弹性搜索密码?
问题描述:
Elasticsearch的official docker image documentation提供此docker-compose.yml
例如:如何更改docker-compose中的默认弹性搜索密码?
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 documentation page,但我拒绝相信我必须经历所有的麻烦才能更改密码。在Docker Compose文件中为弹性搜索配置自定义密码有没有更简单,规范的方法?
答
从6.0开始elasticsearch docker映像可以使用以下环境变量来配置密码 - ELASTIC_PASSWORD。
例如:
搬运工运行-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