抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言

因为需要部署蚂蚁笔记,就想着将数据库放在云上,后来发现基本上所有的云厂商对Mongodb收费都比较高昂,所以就选择了便宜的方案,在公有云服务器上自建mongodb服务。
mongodb服务构建主要是使用的docker,数据挂载在磁盘固定的位置,并且定时进行同步

步骤

  • 使用docker最新版的mongodb镜像

    1
    docker pull mongo 
  • 给mongodb创建对应的本地数据存储空间以及数据备份空间

    1
    2
    mkdir -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
    6
    docker 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版本是否兼容

评论