1.拉取mongodb镜像
docker pull mongo
2.运行mongodb
docker run -p 27017:27017 -v /etc/localtime:/etc/localtime -v /home/data/mongodb:/data/db -d --restart=always --name mongodb mongo --auth
-p 27017:27017 端口映射
-v /etc/localtime:/etc/localtime 意思是同步主机时区
-v /home/data/mongodb:/data/db 共享主机文件目录
–restart=always 异常自动重启
–auth 以权限方式启动镜像
前面两步一键脚本:
#!/bin/sh
docker pull mongo
docker stop mongodb
docker rm mongodb
rm -rf /home/data/mongodb/*
docker run -p 27017:27017 -v /etc/localtime:/etc/localtime -v /home/data/mongodb:/data/db -d --restart=always --name mongodb mongo --auth
3.为mongodb添加用户并赋予权限(以admin登录mongodb)
docker exec -it mongodb mongo admin
添加一个个 admin 管理员账号:
不带读写权限: db.createUser({ user: ‘root’, pwd: ‘123456’, roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ] });
带读写权限:
db.createUser({user:“root”,pwd:“123456”,roles:[{role:‘clusterAdmin’,db:‘admin’},{role:‘userAdminAnyDatabase’,db:‘admin’},{role:‘root’,db:‘admin’},“readWrite”]},{w:‘majority’,wtimeout:5000});
执行完退出exit