系统环境:Centos7 MongoDB 4.0.0
创建文件
注意:创建文件全是为了
Docker run
做准备,文件所对应的路径需与下一步的映射路径所对应,路径可自我更改。
mkdir mongo
cd mongo
mkdir data conf logs
cd logs
mkdir -p mongodb/master
touch mongodb/master/mongodb.log
chmod 777 mongodb/master/mongodb.log
touch /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权限参考:权限详解用户授权管理
以上内容经个人实操操作完成并成功,已将参考链接放置末尾如对配置文件或者命令疑问者可查看参考链接。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker实战(1):通过配置文件启动MongoDB - Python技术站