创建数据文件夹

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/ 
文档更新时间: 2022-04-17 08:11   作者:admin