docker安装elasticSearch修改密码

方法 1:使用 elasticsearch-setup-passwords 工具更新密码
如果你希望使用命令行工具来更新密码,可以通过 Docker 进入容器并使用 elasticsearch-setup-passwords 工具。

  1. 进入 Elasticsearch 容器
    首先,找到正在运行的 Elasticsearch 容器名称或 ID:
docker ps

然后进入容器的 Bash 环境:

docker exec -it <container_name_or_id> /bin/bash
  1. 运行密码重置工具
    在容器内运行 elasticsearch-setup-passwords 工具来更新密码:
bin/elasticsearch-setup-passwords interactive

该命令会提示你逐个设置密码,包括 elastic 用户以及其他系统用户(如 kibana, logstash_system 等)。

你可以选择 auto 模式自动生成密码:

bin/elasticsearch-setup-passwords auto
  1. 退出容器并重启 Elasticsearch
    更改密码后,退出容器并重新启动 Elasticsearch:
docker restart <container_name_or_id>

方法 2:通过环境变量重新设置密码
如果你希望直接在 Docker 启动命令中更改密码(通过环境变量设置),可以停止当前容器并重新启动它。

  1. 停止现有的 Elasticsearch 容器
docker stop <container_name_or_id>
  1. 删除现有的容器
docker rm <container_name_or_id>
  1. 使用新的密码重新启动容器
    使用新的密码重新启动容器,可以在 docker run 命令中直接设置环境变量 ELASTIC_PASSWORD:
docker run -d --name elasticsearch \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=true" \
  -e "ELASTIC_PASSWORD=new_password" \
  -e "xpack.monitoring.enabled=true" \
  -e "xpack.watcher.enabled=false" \
  -e "xpack.graph.enabled=false" \
  -e "xpack.ml.enabled=false" \
  -v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
  -v /home/elasticsearch/backup:/usr/share/elasticsearch/backup \
  docker.elastic.co/elasticsearch/elasticsearch:7.6.0

在此命令中,将 new_password 替换为你要设置的新密码。

docker run: 启动一个新的 Docker 容器。
-d: 让容器在后台运行(“detached mode”)。
–name elasticsearch: 为容器指定一个名字,方便后续管理。此处容器被命名为 elasticsearch。
-p 9200:9200: 将宿主机的 9200 端口映射到容器内的 9200 端口。Elasticsearch 的 HTTP API 默认运行在 9200 端口。
-p 9300:9300: 将宿主机的 9300 端口映射到容器内的 9300 端口。这个端口用于节点间的通信(用于集群中的节点发现)。
-e “discovery.type=single-node”
-e “discovery.type=single-node”: 设置 Elasticsearch 的节点发现机制为 single-node,表示这是一个单节点集群。此配置告诉 Elasticsearch 不需要进行节点发现,因为只会运行一个节点。
4.-e “xpack.security.enabled=true”: 启用 Elasticsearch 的 X-Pack 安全功能,这会启用用户认证、角色权限管理等功能。
5.-e “ELASTIC_PASSWORD=new_password”: 设置名为 elastic 的默认超级用户(管理员)的密码。
6.-e “xpack.monitoring.enabled=true”: 启用 Elasticsearch 的监控功能。X-Pack 的监控功能用于跟踪 Elasticsearch 集群的健康状况、性能、节点状态等。
7.-e “xpack.watcher.enabled=false”: 禁用 X-Pack 的 Watcher 功能。Watcher 用于设置定时任务,检测异常并触发警报。
8.-e “xpack.graph.enabled=false”: 禁用 X-Pack 的图形分析功能。Graph 是用于可视化数据关联的功能,但默认情况下并不启用。
9.-e “xpack.ml.enabled=false”: 禁用 X-Pack 的机器学习功能。机器学习功能用于自动发现集群中的异常模式(如时间序列分析),但在大多数情况下也可以关闭。
10.-v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins: 将宿主机上的 /home/elasticsearch/plugins 目录挂载到容器内的 /usr/share/elasticsearch/plugins 目录。这意味着容器内的 Elasticsearch 将能够访问宿主机上的插件目录,允许你在 Elasticsearch 中安装插件。
11.-v /home/elasticsearch/backup:/usr/share/elasticsearch/backup
-v /home/elasticsearch/backup:/usr/share/elasticsearch/backup: 将宿主机上的 /home/elasticsearch/backup 目录挂载到容器内的 /usr/share/elasticsearch/backup 目录。这个目录可以用于存储 Elasticsearch 的快照文件,便于备份和恢复数据。
12.docker.elastic.co/elasticsearch/elasticsearch:7.6.0: 指定使用的 Elasticsearch 镜像及其版本。这里使用的是 Elasticsearch 7.6.0 版本的 Docker 镜像。docker.elastic.co 是 Elasticsearch 官方镜像的 Docker 仓库。

方法 3:手动通过 API 更新密码
你也可以通过 Elasticsearch 的 REST API 来更新用户密码。

首先登录,使用当前的用户名和密码。

curl -u elastic:old_password -X POST "http://localhost:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'
{
  "password": "new_password"
}'

更新成功后,你可以使用新密码进行后续操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值