系统环境: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. flutter开发体验

    flutter 介绍 flutter 是一种跨平台UI开发框架.这方面类似框架有: weex: Weex是一个可以使用现代化的 Web 技术开发高性能原生应用的框架. React Native: Re ...

  2. 理解正向代理&反向代理

    通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中.由于外部网络上的主机并不会配置并使用这个 ...

  3. 一线大厂工程师推荐:Mysql、Springboot、JVM、Spring等面试合集

    前两天晚上,正当我加班沉浸在敲代码的快乐中时,听到前桌的同事在嘀咕:Spring究竟是如何解决的循环依赖? 这让我想起最开始学Java的时候,掌握了一点基本语法和面向对象的一点皮毛.当时心里也是各种想 ...

  4. Ubuntu18.04 安装 Fabric & 使用 Fabric 测试网络

    前言: 本文介绍在 Ubuntu 18.04 中安装 Fabric, 并对 官方文档中的一个小案例(Using the Fabric test network)进行测试. 目的: 初步了解 Fabri ...

  5. python基础 Day5

    python Day5 字典 其他数据类型的缺点 列表可以存储大量的数据,但是关联性不强. 列表的查询速度比较慢 其容器的数据类型为dict 其数据类型的分类 可变(不可哈希)的数据类型:list d ...

  6. 你所不知道的Spring的@Autowired实现细节

    前言 相信很多Java开发都遇到过一个面试题:Resource和Autowired的区别是什么?这个问题的答案相信基本都清楚,但是这两者在Spring中是如何实现的呢?这就要分析Spring源码才能知 ...

  7. Overcoming Forgetting in Federated Learning on Non-IID Data

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. NeurIPS 2019 Workshop on Federated Learning ...

  8. Python趣味入门5:循环语句while

    跟着小牛叔,找准正确编程入门姿势,每天只要阅读10分钟. 任何语言都有循环语句,在Python里循环更是变化无穷,有基本的循环,有循环else语句,引伸出来的还有迭代器.推导式,咱们先学习最简单的一种 ...

  9. new操作符创建对象的四个步骤

    new操作符创建对象可以分为以下四个步骤: 创建一个空对象 将所创建对象的__proto__属性值设为构造函数的prototype的属性值 执行构造函数中的代码,构造函数中的this指向该对象 返回对 ...

  10. Android 设备指纹

    Android唯一识别号(设备指纹)的生成及原理 https://blog.csdn.net/xiechengfa/article/details/70049409?utm_source=itdada ...