Docker创建MongoDB容器并添加root密码验证与更多用户详细步骤

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录无密码验证创建容器需要密码验证创建容器步骤1:创建需要验证的容器步骤2:进入容器内部,进入数据库命令行步骤3:创建root用户与密码步骤4:登录root用户步骤5:通过root用户的权限创建其他用户权限&名称请参考总结

首先下载镜像文件

sudo docker pull mongo

无密码验证创建容器

docker run -itd –name mongo -p 27017:27017 mongo

这时创建的MongoDB是没有用户名与密码的,比如使用python连接mongodb时只需要:

pymongo.MongoClient(host=localhost, port=27017)

需要密码验证创建容器

整个流程是:

创建需要验证的容器进入容器内部,进入数据库命令行创建root用户与密码登录root用户通过root用户的权限创建其他用户

步骤1:创建需要验证的容器

修改创建容器的方法为:

sudo docker run -itd –name docker-mongo -p 27017:27017 mongo –auth

步骤2:进入容器内部,进入数据库命令行

只需要使用–auth即可创建需要验证的容器,然后需要进入容器内部,创建更多用户:

sudo docker exec -it docker-mongo /bin/bash

进入容器后,运行:

mongosh

这样就进入了mongodb的命令界面。

步骤3:创建root用户与密码

创建超级用户:

use admin db.createUser({ user: “root” , pwd: “root_pass”, roles: [“root”]})

这样就创建了root用户与密码:

用户名:root密码:root_pass权限:root

步骤4:登录root用户

db.auth(“root”,”root_pass”)

返回 { ok: 1 },证明root用户创建成功

步骤5:通过root用户的权限创建其他用户

创建对所有数据库有读写权限的用户:

db.createUser({ user: “dbrw” , pwd: “dbrw_pass”, roles: [“readWriteAnyDatabase”]})

这样就创建了一个新用户:

用户名:dbrw密码:dbrw_pass权限:readWriteAnyDatabase

同样可以创建自定义的权限:

db.createUser({ user:”ccc_user”, pwd:”ccc_123456″, roles:[ {role:”readWrite”,db:”new_db_1″}, {role:”readWrite”,db:”new_db_2″}, readAnyDatabase ] })

通过这种方式创建的用户,可以得到:

用户名:ccc_user密码:ccc_123456权限:读写权限:数据库new_db_1读写权限:数据库new_db_2只读权限:除new_db_1、new_db_2外的其他数据库

权限&名称请参考

数据库用户角色

read: 只读数据权限readWrite:学些数据权限

数据库管理角色

dbAdmin: 在当前db中执行管理操作的权限dbOwner: 在当前db中执行任意操作userADmin: 在当前db中管理user的权限

备份和还原角色

backuprestore

跨库角色

readAnyDatabase: 在所有数据库上都有读取数据的权限readWriteAnyDatabase: 在所有数据库上都有读写数据的权限userAdminAnyDatabase: 在所有数据库上都有管理user的权限dbAdminAnyDatabase: 管理所有数据库的权限

集群管理

clusterAdmin: 管理机器的最高权限clusterManager: 管理和监控集群的权限clusterMonitor: 监控集群的权限hostManager: 管理Server

超级权限

root: 超级用户

总结

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容