Docker安装Mongo并设置用户名密码

命令

docker run -itd --name mongo --restart=on-failure:10 -p 27017:27017 -v /home/db  mongo --auth

–restart=on-failure:10:为mongo添加重启策略,在非零状态下退出,重试次数设置为10次
-p 27017:27017:映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
–auth:需要密码才能访问容器服务。
-v:映射文件到本地文件夹,这样数据库文件就会在本地存储,即使删除了容器或镜像至少数据库文件还在,数据不会丢失。
-d:表示守护态运行

$ docker exec -it mongo mongo admin
#创建一个名为 admin,密码为 123456 的用户。
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
#尝试使用上面创建的用户信息进行连接。
db.auth('admin', '123456')
#创建超级用户
db.createUser({ user: "root" , pwd: "root", roles: ["root"]})

基于角色的权限说明

内置角色
数据库用户角色
read: 只读数据权限
readWrite:学些数据权限

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

备份和还原角色
backup
restore

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

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

超级权限
root: 超级用户

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值