其他配置参照docker Hub官网:Mongo - Official Image | Docker Hub
docker pull mongo:4.2.23
- 运行一个名称为
auth_mongo镜像,且挂载容器数据券为F:/dockeData/mongodb4223/data/db:/data/db- 通过
--auth来开启授权功能
# --auth表示连接mongodb时需要授权
docker run -it -d --name auth_mongo -v F:/dockeData/mongodb4223/data/db:/data/db -p 27017:27017 mongo:4.2.23 --auth
进入容器内部创建用户
#进入容器
docker exec -it auth_mongo mongo admin
# 添加管理员用户
db.createUser({ user:'admin',pwd:'admin@123',roles:[ { role:'root', db: 'admin'}]});
# 切换到admin数据库
use admin
# 登录认证
db.auth('admin', 'admin@123')
# 查看数据库
show dbs
- 先登录管理员账户;
- 切换到某个数据库并创建其他用户
# 1.先使用admin账户登录
use admin
db.auth('admin','admin@123')
# 2.切换到并创建my_db库
use my_db
# 在my_db数据库下创建test_user用户
db.createUser({user:'test_user',pwd:'test_user',roles:['readWrite']})
#通过账号密码登录并添加users集合数据
db.auth("test_user","test_user")
# 插入测试数据
db.users.insert( { name:"jinshengyuan", age:22} )
如修改test_user用户的角色
db.updateUser({user:'test_user',pwd:'test_user',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
# 删除用户
db.dropUser('test_user')
)