当前位置: 首页 > news >正文

Elasticsearch - Linux下使用Docker对Elasticsearch容器设置账号密码

1、首先确认当前Elasticsearch容器状态

# 查看正在运行的容器
docker ps# 查看所有容器(包括停止的)
docker ps -a

2、启用安全认证功能

方法A:修改配置文件(推荐)

# 进入容器
docker exec -it elasticsearch bash# 检查是否有vi/nano编辑器(如果没有需要安装)
apt-get update && apt-get install -y vim# 编辑配置文件
vim /usr/share/elasticsearch/config/elasticsearch.yml

在配置文件中添加以下内容:

xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true

保存退出后重启容器:

exit
docker restart elasticsearch

方法B:直接追加配置(无需进入容器)

# 追加安全配置
docker exec elasticsearch sh -c "echo 'xpack.security.enabled: true' >> /usr/share/elasticsearch/config/elasticsearch.yml"
docker exec elasticsearch sh -c "echo 'xpack.security.authc.api_key.enabled: true' >> /usr/share/elasticsearch/config/elasticsearch.yml"# 重启容器
docker restart elasticsearch

3. 设置内置用户密码

方法A:自动生成密码

docker exec -it elasticsearch bash
bin/elasticsearch-setup-passwords auto

方法B:交互式设置密码

docker exec -it elasticsearch bash
bin/elasticsearch-setup-passwords interactive

按照提示为以下内置用户设置密码:

  • elastic (超级用户)

  • apm_system

  • kibana_system

  • logstash_system

  • beats_system

  • remote_monitoring_user

4. 创建自定义用户(可选)

# 使用elastic用户创建新用户
curl -u elastic:你设置的密码 -X POST "http://localhost:9200/_security/user/newuser" \
-H "Content-Type: application/json" \
-d '{"password": "newpassword","roles": ["superuser"],"full_name": "Custom User"
}'

5. 验证设置

# 测试认证
curl -u elastic:你设置的密码 http://localhost:9200/_security/_authenticate

6. 持久化配置(重要)

为了防止容器重启后配置丢失,建议:

1、将修改后的配置文件复制到主机:

docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml ./elasticsearch.yml

2、下次启动时挂载配置文件:

docker run -d --name elasticsearch \-p 9200:9200 -p 9300:9300 \-v $(pwd)/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-v es_data:/usr/share/elasticsearch/data \-e "discovery.type=single-node" \docker.elastic.co/elasticsearch/elasticsearch:8.12.0

常见问题解决

1、如果忘记密码

docker exec -it elasticsearch bash
bin/elasticsearch-reset-password -u elastic

2、如果容器无法启动

检查日志:

docker logs elasticsearch

3、如果遇到权限问题

docker exec elasticsearch chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/data
http://www.dtcms.com/a/428371.html

相关文章:

  • 10. Spring AI + RAG
  • wordpress做自建站上海高品质网站建设公司
  • 网站开发如何找甲方网站后台维护费用
  • 智能化企业级CRM系统开发实战飞算JavaAI全流程体验
  • Matlab通过GUI实现点云的PCA配准(附最简版)
  • 10.17 上海 Google Meetup:从数据出发,解锁 AI 助力增长的新边界
  • 免费成品网站下载上海网站设计多少钱
  • 外管局网站上做预收登记制作公司网页图片
  • 【DockerFile+Nginx+DockerCompose】前后端分离式项目部署(docker容器化方式)
  • 快速傅里叶变换简介及python实现
  • 网站的实现怎么写重庆网站seo方法
  • 公司建设网站费用会计分录哈尔滨建筑工程招聘信息
  • 猫眼网站建设适合小县城开的加盟店
  • 网站开发 系统需求文档个性化定制网站
  • IDEA+SpringBoot实现远程DEBUG到本机
  • 网站建设与维护 目录开发公司前期手续流程
  • 物品奖励系统介绍
  • 广州站西手表公司彩页设计制作
  • sat4j中参数作用
  • 网站建设课程有哪些收获西安注册公司虚拟地址
  • 哪家做网站性价比高朋友圈自己做的网站
  • 建设网站需要掌握什么编程语言川菜餐馆网站建设模板美食餐厅企业建站php源码程序
  • 网上商城公司网站建设方案被网上教开网店的骗了怎么办
  • 网站域名无法访问国外建站工具
  • SurfaceFlinger BufferQueue(三) DequeueBuffer
  • AI智能体(Agent)大模型入门【4】--下载训练好的大模型部署到本地上
  • 网站tkd怎么做学做烘培的网站
  • 肇庆网站制作费用wordpress 开源主题
  • 【开题答辩全过程】以 NBA球星管理系统为例,包含答辩的问题和答案
  • asp.net中文官方网站江门市网站建设公司