docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker创建MongoDB容器添加密码验证

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

作者:呆萌的代Ma

MongoDB是一个著名的面向文档的数据库,被许多现代Web应用程序使用,下面这篇文章主要给大家介绍了关于Docker创建MongoDB容器并添加root密码验证与更多用户的相关资料,需要的朋友可以参考下

首先下载镜像文件

sudo docker pull mongo

无密码验证创建容器

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

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

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

需要密码验证创建容器

整个流程是:

步骤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用户与密码:

步骤4:登录root用户

db.auth("root","root_pass")

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

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

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

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

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

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

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

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

权限&名称请参考

数据库用户角色

数据库管理角色

备份和还原角色

跨库角色

集群管理

超级权限

总结

到此这篇关于Docker创建MongoDB容器并添加root密码验证与更多用户的文章就介绍到这了,更多相关Docker创建MongoDB容器添加密码验证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文