[记录] 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'