You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过docker-compose修改Open Distro for Elasticsearch默认凭证admin/admin

操作方案

完全支持通过在docker-compose中配置环境变量的方式替换默认的admin/admin凭证,无需手动修改容器内的配置文件,具体操作步骤如下:

1. 生成自定义密码的BCrypt哈希值

Open Distro for Elasticsearch的内置用户密码以BCrypt哈希形式存储,首先需要生成你自定义密码对应的哈希值,可通过官方镜像自带的工具快速生成,执行以下命令即可:

docker run --rm amazon/opendistro-for-elasticsearch:latest /usr/share/elasticsearch/plugins/opendistro_security/tools/hash.sh -p 你的自定义明文密码

命令执行后输出的字符串即为对应密码的哈希值,复制留存备用。

2. 配置Elasticsearch服务环境变量

在docker-compose.yaml中,所有Elasticsearch节点的environment配置段添加以下参数,替换为上一步生成的哈希值:

- OPENDISTRO_SECURITY_INTERNALUSERS_ADMIN__PASSWORD=你生成的BCrypt哈希值

注意配置中的ADMIN__PASSWORD是双下划线,对应配置文件层级internal_users.admin.password的转义写法。

3. 配置Kibana服务环境变量

Kibana需要使用新的凭证访问Elasticsearch,在kibana服务的environment配置段添加以下参数:

- ELASTICSEARCH_USERNAME=admin
- ELASTICSEARCH_PASSWORD=你的自定义明文密码

如果同步修改了默认管理员用户名,将上方admin替换为你的自定义用户名即可。

配置示例

完整docker-compose.yaml片段参考:

version: '3'
services:
  odfe-node1:
    image: amazon/opendistro-for-elasticsearch:1.13.3
    environment:
      - cluster.name=odfe-cluster
      - node.name=odfe-node1
      - discovery.seed_hosts=odfe-node1,odfe-node2
      - cluster.initial_master_nodes=odfe-node1,odfe-node2
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      # 自定义admin密码哈希
      - OPENDISTRO_SECURITY_INTERNALUSERS_ADMIN__PASSWORD=$2a$12$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - odfe-data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - odfe-net

  kibana:
    image: amazon/opendistro-for-elasticsearch-kibana:1.13.3
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: https://odfe-node1:9200
      ELASTICSEARCH_HOSTS: https://odfe-node1:9200
      # 自定义访问凭证
      ELASTICSEARCH_USERNAME: admin
      ELASTICSEARCH_PASSWORD: 你的自定义明文密码
    networks:
      - odfe-net

volumes:
  odfe-data1:
networks:
  odfe-net:
注意事项
  • 该环境变量配置仅在集群第一次初始化启动时生效,如果之前已经启动过集群生成了持久化数据,需要先删除对应Elasticsearch的持久化卷再重新启动,新密码才会生效
  • 复制哈希值时注意不要携带多余的空格、换行符,否则会导致密码校验失败
  • 如果需要修改默认管理员用户名,除了修改上述用户名参数外,还需要额外配置角色映射,将新用户绑定到admin角色,否则会出现权限不足的问题

内容的提问来源于stack exchange,提问作者klee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:57:04