系统环境: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的更多相关文章

  1. 使用配置文件启动MongoDB

    Ubuntu 16.04 (阿里云ECS),MongoDB 4.0, 原来,已经写了10篇MongoDB的随笔了.可是,自己居然没有使用配置文件启动过MongoDB,对其更多的配置是不明白的. 昨天( ...

  2. MongoDB 配置文件启动

    MongoDB 服务启动有两种方式:一种是直接命令启动,一种是通过配置文件启动 1.命令启动: mongod -dbpath C:\data\db -logpath C:\data\log\mongo ...

  3. 操作3 mongodb和mysql 开启慢查询日志 ,以及mongodb从配置文件启动

    1. mongodb从配置文件启动 创建配置文件:/usr/local/mongodb/etc/mongodb.conf 配置文件的内容为: #Directory and relavent set d ...

  4. docker根据配置文件启动redis

    更多docker基本命令请自行查询. 1.首先拉取合适版本的docker镜像 docker pull redis:5 2.如果不需要更改什么配置或者仅仅测试用可以直接启动镜像运行容器,这里要说明的是根 ...

  5. 【docker】docker部署spring boot服务 选择配置文件启动

    默认启动命令: docker run --name swapping -itd --net=host -v /etc/localtime:/etc/localtime:ro -v /etc/timez ...

  6. MongoDB 通过配置文件启动

    mongod启动命令需指定一些参数启动服务,我们通过配置文件的方式配置这些参数加载配置. ./bin/mongod --config ./conf/mongodb.conf(或./bin/mongod ...

  7. Docker 安装 redis 并实现配置文件启动,数据文件本地持久化

    1,笔者使用的是 Linux 的 Centos7 版本  2,安装 Docker,不会安装可以移步 Docker 在 Linux 平台的安装 以及一些常见命令 3,下载 docker 镜像 3.1,首 ...

  8. docker 安装部署 redis(配置文件启动)

    获取 redis 镜像 docker pull redis:4.0.12 docker images 创建容器 创建宿主机 redis 容器的数据和配置文件目录 # 创建宿主机 redis 容器的数据 ...

  9. Docker实战(九)之数据库应用

    目前,主流数据库包括关系型和非关系型两种. 关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念金额方法来处理数据库中的数据,支持复杂的事务处理和结构化查询.代表实现有MySQL .O ...

随机推荐

  1. JavaScript正则、错误处理、操作表单

    一.正则表达式:用单个字符串描述或者匹配符合特定语句规则的字符串 一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索,可以去替换 二.语法: /表达式/修饰符(可选) var para=/i ...

  2. 蓝牙bluez命令

    记录一下自己平时调试蓝牙的命令,后续学习到再添加 sdptool命令: sdptool add SP    - 添加SPP: sdptool add --channel=1 DID SP DUN LA ...

  3. JavaScript学习系列博客_29_JavaScript arguments

    arguments (封装实参的对象) 在调用函数时,浏览器每次都会传递进两个隐含的参数:1.函数的上下文对象 this2.封装实参的对象 arguments- arguments是一个类数组对象,它 ...

  4. C++ Templates (1.6 但是为什么不...? But, Should't We ...?)

    返回完整目录 目录 1.6 但是为什么不...? But, Should't We ...? 1.6.1 传值还是传引用? Pass by Value or by Reference? 1.6.2 为 ...

  5. 构造vlan报文

    #!/usr/bin/python from scapy.all import * packet = Ether(src='dc:99:14:01:a3:5e', dst='ff:ff:ff:ff:f ...

  6. python的各种包安装地址

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy-stack 这个网页里有python的所有包,whl的后缀是python压缩包的意思.在windows ...

  7. WS以及NW小世界网络的生成(MATLAB)

    WS小世界网络生成算法,一般小世界网络生成算法速度慢,节点度分布与数学推导不符,在网络仿真中造成不便,这里针对实际网络动力学仿真过程撰写了WS小世界网络的MATLAB生成算法,并考虑了矩阵化,具有较高 ...

  8. Java多线程_并发容器ConcurrentHashMap/CopyOnWriteArrayList/CopyOnWriteArraySet

    ConcurrentHashMap         HashMap是线程不安全的,可以使用Collections.synchronizedMap(map)把一个不安全的map变成安全的,但是这里可以直 ...

  9. 使用Java8中的Optional类来消除代码中的null检查

    简介 Optional类是Java 8新增的一个类,Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException). —— 每个 Java 程序员都非常了解的异常 ...

  10. Java高级特性——反射机制(第二篇)

    在Java高级特性——反射机制(第一篇)中,写了很多反射的实例,可能对于Class的了解还是有点迷糊,那么我们试着从内存角度去分析一下. Java内存 从上图可以看出,Java将内存分为堆.栈.方法区 ...