创建mongo容器

docker pull mongo

docker run --name my-mongo -p 27017:27017 -d mongo --auth

进入mongo容器,并创建用户

docker exec -it 容器id /bin/bash || docker exec -it 容器id mongo admin

mongo

use admin

db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]}) //创建用户,此用户创建成功,则后续操作都需要用户认证

exit

##指定配置文件启动

 

 

docker run --name some-mongo -d mongo --configsvr

 

##数据持久化启动

 

docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo:tag

 

##数据库授权

docker run --name some-mongo -d mongo --auth

##数据库备份

docker run --name mongo -v /mnt/mongo/backup:/data/backup -d mongo

整合:

docker pull mongo

//创建Mongo专用的文件夹:

cd /mnt mkdir mongodb cd ./mongodb mkdir data mkdir backup

//执行如下命令启动MongoDB:

docker run --name mongo -p 27017:27017 -v /mnt/mongodb/data:/data/db -v /mnt/mongodb/backup:/data/backup -d mongo --auth

//创建用户名密码

docker exec -it mongo mongo admin db.createUser({ user: 'jsmith', pwd: 'password', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }); use test; db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]}); db.auth("testuser","testpass")

//备份

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u jsmith -p password -d dbname -o /data/backup/$var_test1.dat'

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐