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

Docker本地部署OpenSearch及Dashboard遇登录失败问题求助

OpenSearch Dashboard登录错误:无效用户名或密码问题排查

我尝试用Docker本地运行OpenSearch和OpenSearch Dashboard,但在Dashboard登录时一直提示**"Invalid username or password. Please try again."**。试过默认凭据,也禁用了安全插件,问题还是没解决,求帮助。

我的docker-compose配置

opensearch:
    image: opensearchproject/opensearch:2.9.0
    container_name: opensearch
    environment:
      - discovery.type=single-node
      - plugins.security.disabled=true
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"

    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"
    networks:
      - opensearch_net

  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:2.9.0
    container_name: opensearch-dashboards
    environment:
      - OPENSEARCH_HOSTS=["http://opensearch:9200"]
      - server.host="0.0.0.0"
      - DASHBOARDS_INDEX=.opensearch_dashboards
      - OPENSEARCH_SECURITY_ENABLED=false
    ports:
      - "5601:5601"
    depends_on:
      - opensearch
    networks:
      - opensearch_net

networks:
  default:
    name: kafka-net
    driver: bridge
  monitoring:
    driver: bridge
  opensearch_net:
    driver: bridge

已尝试的方案

  • 禁用安全插件
  • 使用默认凭据

问题分析

你的配置中存在两处环境变量格式错误,同时可能有容器缓存残留导致设置不生效:

  1. OPENSEARCH_HOSTS用了数组格式,OpenSearch Dashboard要求该变量为字符串值,数组格式会被解析错误
  2. server.host带了多余的引号,会被识别为包含引号的主机名,引发异常
  3. 若之前启动过带安全插件的容器,数据卷残留的配置会覆盖当前设置

修复方案

1. 修正docker-compose配置

使用以下修正后的配置:

opensearch:
    image: opensearchproject/opensearch:2.9.0
    container_name: opensearch
    environment:
      - discovery.type=single-node
      - plugins.security.disabled=true
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"
    networks:
      - opensearch_net

  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:2.9.0
    container_name: opensearch-dashboards
    environment:
      - OPENSEARCH_HOSTS=http://opensearch:9200
      - server.host=0.0.0.0
      - DASHBOARDS_INDEX=.opensearch_dashboards
      - OPENSEARCH_SECURITY_ENABLED=false
    ports:
      - "5601:5601"
    depends_on:
      - opensearch
    networks:
      - opensearch_net

networks:
  default:
    name: kafka-net
    driver: bridge
  monitoring:
    driver: bridge
  opensearch_net:
    driver: bridge

2. 清理旧容器与数据卷

执行命令彻底清理残留资源:

docker-compose down -v

3. 重新启动容器

docker-compose up -d

4. 验证配置

  • 访问http://localhost:9200,返回的JSON响应中不应包含security相关字段,说明安全插件已成功禁用
  • 访问http://localhost:5601,此时应直接进入Dashboard界面,无登录弹窗

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:56:15