如何编写Dockerfile脚本,以便为mongoDB 4.2创建管理用户?
是否有一行命令来创建不使用交互式子subshell的管理用户?(在mongoDB 文档中没有看到任何东西)
谢谢你的帮助。
传递MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD不再有效(从Docker图像文档中删除)。
mongo文档只显示交互式shell管理用户创建。
> mongo admin
执行mongo交互式shell,但是如何编写一个shell脚本来从顶层shell中输入命令呢?
FROM mongo
RUN mongo admin ???? db.createUser({ user: 'jsmith', pwd: 'some-initial-password', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });停靠程序生成过程应该显示:
成功添加用户:{“用户”:"jsmith",“角色”:{“角色”:"userAdminAnyDatabase","db“:"admin”}
发布于 2019-10-06 00:15:19
好的,下面是通过Dockerfile添加authetication的方法。
init.js文件:db = new Mongo().getDB("admin");
// create admin user
db.createUser({
user: "admin",
pwd: "password",
roles: [
{
role: "clusterAdmin",
db: "admin"
}
]
});
// create non admin user
db.createUser({
user: "toto",
pwd: "123",
roles: [
{
role: "readWrite",
db: "tube"
}
]
});FROM mongo
# init.js will be executed when the mongo instance runs
COPY ./init.js ./docker-entrypoint-initdb.ddocker build -t mongoAuth .
docker run --name mongoContainer -p 27017:27017 mongoAuth
我所缺少的是,我没有通过以下方法设置创建用户(管理数据库)的数据库:
db = new Mongo().getDB("admin");
https://stackoverflow.com/questions/58250296
复制相似问题