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

Docker部署MongoDB后Spring Boot及Compass认证失败求助

Docker中MongoDB认证失败问题排查与解决

问题根源1:Docker环境变量配置错误

MongoDB官方镜像(mongo:4.4.16)不会识别MONGO_USER和MONGO_PASS这类自定义变量,初始化管理员账号必须用官方指定的环境变量:MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD。你当前的配置根本没在MongoDB中创建管理员账号,所以密码认证必然失败。

问题根源2:Spring配置文件密码拼写错误

application.properties里的密码写成了mongadmin1234,少了字母o,和你定义的正确密码mongoadmin1234不一致,这也会导致认证失败。


修正后的配置文件

docker-compose.yaml

version: '3.8'
services:
  mongo:
    container_name: mongodb
    image: mongo:4.4.16
    environment:
      MONGO_INITDB_ROOT_USERNAME: mongoadmin
      MONGO_INITDB_ROOT_PASSWORD: mongoadmin1234
    ports:
      - "27017:27017"
    volumes:
      - mongodb_data:/data/db
volumes:
  mongodb_data:

application.properties

# MongoDB Config
spring.data.mongodb.uri=mongodb://mongoadmin:mongoadmin1234@localhost:27017/database-demo?authSource=admin

修复操作步骤

  1. 停止并删除现有MongoDB容器:
docker stop mongodb && docker rm mongodb
  1. 清理旧的MongoDB数据卷(避免残留未初始化的数据库):
docker volume rm 你的项目目录名_mongodb_data

如果不确定卷名,可执行docker volume ls查看,或者直接清理所有无用卷:docker volume prune
3. 重新启动容器:

docker-compose up -d

完成后,MongoDB Compass用mongodb://mongoadmin:mongoadmin1234@localhost:27017连接(认证数据库选admin),Spring Boot项目也能正常启动认证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:25:30