- 先启动mongodb, 不要使用auth标志
docker run -d --name test-mongo -v /your/host/path:/data/db mongo:latest
docker exec -it test-mongo bash
- 创建管理用户
mongosh
use admin
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
- 给admin用户添加其他数据库的读写权限
use admin
db.grantRolesToUser("admin", [{ role: "readWrite", db: "dev" }])
这个就是给dev库添加读写权限, 这样用admin用户登录后, 就可以管理dev库了
- 启动镜像的时候添加auth命令
docker run -d --name test-mongo -v /your/host/path:/data/db mongo:latest mongod --auth
这样启动的mongodb就必须输入账号和用户名了
网友评论