[记录] Docker 方式部署 MongoDB
创建数据文件夹
mkdir -p /data/db
mkdir -p /data/backup
获取镜像
docker pull mongo
创建mongodb容器
docker run --name mongodb -v /data/db:/data/db -v /data/backup:/data/backup -p 27017:27017 -d mongo --auth
如果加需要验证就加--auth,不需要验证,就去掉。默认mongodb是不使用用户认证
进入容器设置用户
docker exec -it mongodb /bin/bash
mongo
use admin
//创建用户,此用户创建成功,则后续操作都需要用户认证
db.createUser({user:"root",pwd:"12!@qwaszx",roles:[{role:'root',db:'admin'}]})
use test;
db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]});
db.auth("testuser","testpass")
// 测试是否连接成功
mongo 宿主机ip/admin -utest -p
exit
备份
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'
数据库备份和恢复
# 系统备份成功会在/home/dump目录下自动生成一个数据库名的文件夹/test,里面是全部Collection备份的bson文件。
mongodump -h 127.0.0.1 --port 27017 -u=用户名 -p=密码 -d test -o /dump
mongorestore -h <IP地址>:<端口> -d <数据库名> /home/dump/test/
附记:在茫茫的信息海洋中,遇到就是有缘,期待回复交流,为缘分留下痕迹……