正如官方文档建议的那样,我想通过docker-compose.yml使用官方的Elasticsearch docker 镜像:
我简化的 docker-compose.yml如下所示:
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.2
environment:
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- 9200:9200
默认情况下,运行后docker-compose up
我elastic
使用默认密码创建用户changeme
。正如文档所暗示的,我可以通过调用来更改用户密码:
curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" -d '{
"password" : "elasticpassword"
}'
但这在运行 Docker 映像时需要额外的步骤。
有没有办法在命令elastic
期间配置默认用户密码docker-compose up
?也许通过环境变量以某种方式或通过elasticsearch.yml
配置文件?
我可以创建自己的图像作为docker.elastic.co/elasticsearch/elasticsearch:5.5.2
图像顶部的包装器,并将命令作为相关 Dockerfile 的一部分,但是创建自己的 Elasticsearch 图像版本只是为了配置用户密码RUN
curl ...
对我来说似乎是开销......elastic