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

MongoDB Docker容器默认账号密码及启动配置方法咨询

解决MongoDB Docker容器认证连接问题

1. 你的启动命令失败原因

你之前的命令错误地将环境变量参数放在了镜像名之后,Docker会把镜像名后的内容当作容器内要执行的命令,覆盖了MongoDB的默认启动逻辑,导致容器无法正常启动。Docker的参数(如-e、-p、--name等)必须放在镜像名称之前。

2. 正确的带认证启动命令

使用以下命令启动容器,将环境变量参数放在镜像名前:

docker run --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password -d mongodb/mongodb-community-server:latest
  • MONGO_INITDB_ROOT_USERNAME:设置MongoDB的超级管理员用户名
  • MONGO_INITDB_ROOT_PASSWORD:设置超级管理员的密码
    这两个环境变量会触发镜像内置的初始化脚本,自动在admin数据库中创建对应的管理员账号。

3. 验证带认证的连接

命令行验证

使用mongosh连接时,需要指定认证数据库(管理员账号存储在admin库):

mongosh "mongodb://admin:password@localhost:27017/" --authenticationDatabase admin

Java代码连接

Java连接串需要显式指定认证源(authSource参数),否则会默认去连接的目标数据库查找用户,导致认证失败:

MongoClient mongoClient = MongoClients.create("mongodb://admin:password@localhost:27017/?authSource=admin");

4. 关于默认用户名密码

官方的mongodb/mongodb-community-server镜像没有预设的默认用户名和密码,如果不设置上述环境变量,数据库会以无认证模式运行,任何人都可以直接连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:49:56