- 先啟動mongodb, 不要使用auth標(biāo)志
docker run -d --name test-mongo -v /your/host/path:/data/db mongo:latest
docker exec -it test-mongo bash
- 創(chuàng)建管理用戶
mongosh
use admin
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
- 給admin用戶添加其他數(shù)據(jù)庫的讀寫權(quán)限
use admin
db.grantRolesToUser("admin", [{ role: "readWrite", db: "dev" }])
這個就是給dev庫添加讀寫權(quán)限, 這樣用admin用戶登錄后, 就可以管理dev庫了
給dev數(shù)據(jù)庫添加讀寫用戶
db.createUser(
{
user: "manager",
pwd: "manager",
roles: [ { role: "dbOwner", db: "dev" } ]
}
)啟動鏡像的時候添加auth命令
docker run -d --name test-mongo -v /your/host/path:/data/db mongo:latest mongod --auth
這樣啟動的mongodb就必須輸入賬號和用戶名了