一、创建容器
docker run --restart=always -p 27017:27017 -v /usr/local/mongodb2:/data/db -v /home/www/mongodbbank:/home/www/mongodbbank -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai \ --name mongodb -d mongo
二、进入容器创建数据库和账号
1、进入容器:
docker exec -it mongodb /bin/bash
2、进入mongodb:
mongosh
3、切换到admin
use amdin
4、amdin账号验证
db.auth("admin","123456")
5、创建账号密码并授权给新的数据库
db.createUser({user:"abc", pwd:"abc123456", roles:[{role: "readWrite", db:"test_db" }]})
这里不需要手动创建数据库,mongodb会在程序访问时自动生成数据
6、查看是否授权成功
show users
三、 数据库备份:
docker exec mongodb mongodump --authenticationDatabase admin -u abc -p abc123456 --db test_db --out /home/www/mongodbbank/`date +%F_%T`
四、数据库恢复,`date +%F_%T`换成具体的时间:
docker exec mongodb mongorestore --authenticationDatabase admin -u abc -p abc123456 --db test_db /home/www/mongodbbank/`date +%F_%T`/test_db