docker启动带密码的es

新建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" : "[email protected]",
  "metadata" : {
    "intelligence" : 7
  }
}

你可能感兴趣的:(docker启动带密码的es)