创建目录
mkdir -p /mydata/mongodb/data/db /mydata/mongodb/data/log /mydata/mongodb/data/config
compose
version: '3.8'
services:
mongo:
container_name: mongo
image: mongo:5.0
restart: always
ports:
- 27017:27017
volumes:
- /etc/localtime:/etc/localtime
- /mydata/mongodb/data/db:/data/db
- /mydata/mongodb/data/log:/var/log/mongodb
- /mydata/mongodb/data/config:/etc/mongo
启动
docker-compose -f mongodb-compose.yaml up -d
配置用户和库
进入容器
docker exec -it mongo /bin/bash
root用户
mongo admin
use admin
db.createUser(
{
user: 'root',
pwd: 'root_pwd',
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
普通用户(自定义库)
mongo admin
use xcrj_db
db.createUser({ user:'xcrj_user',pwd:'xcrj_pwd',roles:[ { role:'dbOwner', db: 'xcrj_db'}]})
exit;
mongo xcrj_db -u xcrj_user -p
db
用户权限
root | 包含角色readWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin、restore和backup联合之后所有的权限。 |
---|
dbOwner | 在当前db中执行任意操作 |
userAdmin | 用户管理,在当前db中管理user的权限 |
read | 只读数据权限 |
readWrite | 读写数据权限 |
作者声明
如有问题,欢迎指正!