新建elasticsearch.yml文件,开启安全控制:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.security.enabled: true
然后启动命令如下:
docker run --rm --name navi_es \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v $PWD/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v $PWD/es_data:/usr/share/elasticsearch/data \
elasticsearch:7.5.2
在进入navi_es后一次输入以下命令,
cd bin/
elasticsearch-setup-passwords interactive
自动提示输入elastic等预设的用户名,密码并确认
然后退出,输入curl连接
curl -u "elastic:123456" -XPOST "http://127.0.0.1:9200"
其中-u的内容就是用户名和密码
可以再添加新用户或者更新用户如下:
curl -H 'Content-type: application/json' -u "elastic:123456" -XPOST "http://127.0.0.1:9200/_security/user/aa" -d '@temp.json'
其中temp.json文件内容为:
{
"password" : "123456",
"roles" : ["admin"]
}
或者
{
"password" : "j@rV1s",
"roles" : [ "admin", "other_role1" ],
"full_name" : "Jack Nicholson",
"email" : "jacknich@example.com",
"metadata" : {
"intelligence" : 7
}
}