前言
因为需要部署蚂蚁笔记,就想着将数据库放在云上,后来发现基本上所有的云厂商对Mongodb收费都比较高昂,所以就选择了便宜的方案,在公有云服务器上自建mongodb服务。
mongodb服务构建主要是使用的docker,数据挂载在磁盘固定的位置,并且定时进行同步
步骤
使用docker最新版的mongodb镜像
1
docker pull mongo
给mongodb创建对应的本地数据存储空间以及数据备份空间
1
2mkdir -p /data/mongo-data
mkdir -p /data/mongo-backup写docker容器创建命令
1
2
3
4#创建mongo容器并且指定对外Port为20011 挂载数据内容以及备份内容,`--auth` 开启mongo认证,不建议在公网环境暴露
docker run -d -p 20011:27017 --name mongo -v /data/mongo-data:/data/db -v /data/mongo-backup:/data/backup mongo --auth启动mongo后创建对应账号
1
2
3
4
5
6docker exec -it mongo /bin/bash
mongo
use admin
db.createUser({user:"root",pwd:"password",roles:[{role:'root',db:'admin'}]})
exit定时进行数据备份
1
2
3#备份脚本
docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u root -p password -d dbname -o /data/backup/$var_db.dat'
结语
使用docker部署mongo比较简单,需要注意的就是需要在启动时添加--auth
开启认证,否则mongo就是在公网环境中暴露,很容易被攻击,备份恢复需要关注对应的mongodb版本是否兼容