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
已尝试的方案
- 禁用安全插件
- 使用默认凭据
问题分析
你的配置中存在两处环境变量格式错误,同时可能有容器缓存残留导致设置不生效:
OPENSEARCH_HOSTS用了数组格式,OpenSearch Dashboard要求该变量为字符串值,数组格式会被解析错误server.host带了多余的引号,会被识别为包含引号的主机名,引发异常- 若之前启动过带安全插件的容器,数据卷残留的配置会覆盖当前设置
修复方案
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
相关产品推荐
相关产品推荐

