Docker实战(1):通过配置文件启动MongoDB

系统环境:Centos7    MongoDB 4.0.0

创建文件

注意:创建文件全是为了Docker run做准备,文件所对应的路径需与下一步的映射路径所对应,路径可自我更改。

mkdir mongo  
cd mongomkdir data conf logscd logsmkdir -p mongodb/mastertouch mongodb/master/mongodb.logchmod 777 mongodb/master/mongodb.logtouch /home/mongo/conf/mongod.conf
vim  /home/mongo/conf/mongod.conf# 增加已下配置文件# 数据库文件存储位置dbpath = /data/db/# log文件存储位置logpath = /data/log/mongodb/master/mongodb.log# 使用追加的方式写日志logappend = true# 是否以守护进程方式运行# fork    = true# 端口号port    = 27017# 是否启用认证auth  = true# 设置oplog的大小(MB)oplogSize=2048

防火墙设置

  • 开启防火墙
systemctl start firewall
  • 防火墙放端口
firewall-cmd --zone=public --add-port=27010/tcp --permanent
  • 重启防火墙
firewall-cmd --reload

Docker run

  • 启动docker
docker run -itd --name mongodb  --restart=always --privileged -p 27017:27017 -v /home/mongo/data:/data/db  -v /home/mongo/conf:/data/configdb  -v /home/mongo/logs:/data/log/  mongo:4.0.0  -f /data/configdb/mongod.conf --bind_ip_all  
# -v 指定配置文件启动
# --bind_ip_all 允许所以IP访问
# ----restart=always  Docker服务重启容器也启动
# --privileged  拥有真正的root权限

MongoDB设置

docker exec -it mongodb bash
mongo
> use admin  #切换数据库,如果没有的话就是创建库
> db.createUser({user:'super',pwd:'super', roles:[{role:'root', db:'admin'}]})  #创建用户
> db.auth("super","super")  #切换用户
> db.test.find().pretty()   #查找所有用户

MongoDB语句

  • 数据库删除语句,如下删除test

>use test
>db.dropDatabase()  #删除用户需有权限才行,所删除之前需要登录有权限的账号
  • 用户删除语句,如下删除read用户

>use admin
> db.auth("super","super")  #删除用户需有权限才行,所需切换有权限的账号
>db.dropUser("read")
  • 数据库删除语句,如下在test库中插入数据

> use test
> db.test.insert({"name":"菜鸟教程"})

注意:权限为所以数据库的话,必须在数据库admin下切换账号,不然会报错。

参考链接

MongoDB语句参考:增删用户语句 增删数据库语句
MongoDB配置参考:配置文件详解
MongoDB权限参考:权限详解用户授权管理

以上内容经个人实操操作完成并成功,已将参考链接放置末尾如对配置文件或者命令疑问者可查看参考链接。

上一篇:CentOS-Docker安装MongoDB(单点)


下一篇:kettle之mysql数据导入mongo