要在Docker容器中设置MongoDB的全局账号,您需要在启动容器时设置相应的环境变量并配置MongoDB用户。以下是一个具体的步骤:
创建自定义MongoDB配置文件(可选)
您可以创建一个MongoDB配置文件来定义用户身份验证机制。假设这个文件名为mongo-init.js
,文件内容如下:
db.createUser({ user: "globalAdmin", pwd: "yourPassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] });
启动MongoDB Docker容器
您需要在启动容器时指定环境变量来配置管理员用户和密码。同时,将mongo-init.js
文件挂载到容器内。以下是Docker命令示例:
docker run -d \ -p 27017:27017 \ --name mongodb \ -v /path/to/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro \ -e MONGO_INITDB_ROOT_USERNAME=globalAdmin \ -e MONGO_INITDB_ROOT_PASSWORD=yourPassword \ mongo
说明:
/path/to/mongo-init.js
是您的配置文件路径。MONGO_INITDB_ROOT_USERNAME
和 MONGO_INITDB_ROOT_PASSWORD
是用于设置MongoDB全局管理员账号。检验设置
启动容器后,您可以通过Mongo Shell连接到MongoDB实例,验证是否已正确创建全局管理员账号:
docker exec -it mongodb mongo -u globalAdmin -p yourPassword --authenticationDatabase admin
成功连接后,您可以在Mongo Shell中运行一些命令来验证用户权限:
use admin db.auth("globalAdmin", "yourPassword") db.runCommand({ usersInfo: { user: "globalAdmin", db: "admin" } })
通过上述步骤,您应该能够在Docker中成功设置MongoDB的全局管理员账号。
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。