docker elasticsearch 设置密码

Docker Elasticsearch 可以通过设置环境变量来设置密码。

首先,你需要创建一个用户名和密码,可以使用 Elasticsearch 的 API 进行创建:

PUT /_security/user/<username>
    "password" : "<password>",
    "roles" : [ "admin" ],
    "full_name" : "Administrator",
    "email" : "admin@example.com"

然后,在启动 Docker Elasticsearch 容器时,指定环境变量 ELASTIC_PASSWORD,其值为刚才设置的密码:

docker run -d -p 9200:9200 -e "ELASTIC_PASSWORD=<password>" elasticsearch:7.10.0

最后,在使用 Elasticsearch API 时,需要在请求头中指定用户名和密码:

curl -u <username>:<password> -XGET "http://localhost:9200/_cluster/health?pretty"