docker 安装mongodb 实现 数据,日志,配置文件外挂

docker 安装mongodb 实现数据,日志,配置文件外挂

1 背景

最近开发了一个评论系统之前用mysql来存储数据,但是考虑到后期业务增大访问量也会增大,为了兼容这种高并发的场景,因此经过多方面的考虑,我们最终选择了mongodb来存储评论信息。

2 docker 安装配置mongodb

2.1 拉取docker镜像
bash 复制代码
docker pull mongo:4.2

docker pull 是docker拉取镜像的命令, mongo 代表mongodb的镜像 mongo: 后面的数字是拉取mongo镜像的版本号

2.2 创建相关文件夹

由于我将配置文件放在/usr/local文件夹下面,所以我们应执行如下命令

bash 复制代码
cd /usr/local
mkdir -p mongodb/data mongodb/conf mongodb/logs

data 文件夹存放的是mongodb数据文件
conf 文件夹存放的是 mongodb的配置文件
logs 存放的是mongodb的日子文件

2.3 创建mongodb配置文件

首先我们到conf文件,创建一个mongod.conf的文件,然后再将配置信息保存到

执行的操作如下

bash 复制代码
cd /usr/local/mongodb/conf
vim mongod.conf

将mongodb的配置拷贝到配置文件中

bash 复制代码
storage:
  dbPath: /data/db
  # indexBuildRetry: true # 已失效
  journal:
    enabled: true
    commitIntervalMs: 100

# where to write logging data.
systemLog:
  path: /data/logs/mongod.log
  logAppend: false
  logRotate: rename
  destination: file
# network interfaces
security:
  authorization: enabled
net:
  port: 27017
  bindIp: 0.0.0.0
  bindIpAll: true

mongodb相关配置说明

bindIp 指定MongoDB监听的IP地址,默认为127.0.0.1(只允许本地连接)。可以设置为0.0.0.0以允许来自任意IP的连接。
port 指定MongoDB监听的端口号,默认为27017。可以根据需要设置其他端口。
dataPath 指定MongoDB的数据文件存放路径,默认为/data/db
logPath 指定MongoDB的日志文件存放路径,默认为/var/log/mongodb/mongod.log
logAppend 指定是否在日志文件末尾追加日志内容。默认为true,表示追加;false表示覆盖原有内容。
quiet 指定是否禁用控制台输出,默认为false,表示不禁用
oplogSizeMB 指定操作日志(oplog)的大小,单位为MB,默认为空,使用默认大小(通常为物理内存的5%)。
replication.replSetName 指定MongoDB复制集的名称。启用副本集时必须设置该参数。
security.authorization 指定MongoDB是否启用身份验证,默认为disabled,表示禁用。可以设置为enabled以启用身份验证机制。
processManagement.fork 指定是否以守护进程方式运行MongoDB,默认为true。可以设置为false以在前台运行。
storage.engine 指定存储引擎,默认为wiredTiger。可以设置为mmapv1或inMemory等。
bindIpAll 用于指定ip绑定mongodb服务器, 默认值为false

2.4 执行docker 安装mongodb

docker 执行安装mongodb的语句如下

bash 复制代码
docker run --name mongodb -d --privileged=true --restart=always -v /usr/local/mongodb/data:/data/db  -v /usr/local/mongodb/logs/:/data/logs/ -v /usr/local/mongodb/conf/mongod.conf:/data/conf/mongod.conf  -p 27017:27017  -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD='您的密码'  mongo:4.2 --config /data/conf/mongod.conf

相关参数说明

--name 指定容器名称
-d 后台运行
--privileged 是否开启容器操作宿主机的权限
--restart 设置容器的重启策略
-v 将宿主机文件挂载到容器中
-p 绑定宿主机和容器的端口
-e MONGO_INITDB_ROOT_USERNAME 设置mongodb数据库 root的账号
-e MONGO_INITDB_ROOT_PASSWORD 设置mongodb数据库root账号的密码,该密码尽量设置强点
--config 设置mongodb启动配置文件,注意文件地址应该是容器内的地址

检验mongodb 是否安装成

执行如下语句

bash 复制代码
docker ps

如果返回如下效果

那说明mongodb已经安装完成

相关推荐
齐 飞11 小时前
MongoDB笔记02-MongoDB基本常用命令
前端·数据库·笔记·后端·mongodb
齐 飞15 小时前
MongoDB笔记03-MongoDB索引
前端·数据库·笔记·后端·mongodb
威哥爱编程17 小时前
MongoDB面试专题33道解析
数据库·mongodb·面试
r i c k2 天前
MongoDB Shell 基本命令(三)聚合管道
mongodb
来一杯龙舌兰2 天前
【MongoDB】Windows/Docker 下载安装,MongoDB Compass的基本使用、NoSQL、MongoDB的基础概念及基础用法(超详细)
windows·mongodb·docker·mongodb compass
Fireworkitte2 天前
MongoDB
数据库·mongodb
来一杯龙舌兰2 天前
【MongoDB】MongoDB的聚合(Aggregate、Map Reduce)与管道(Pipline) 及索引详解(附详细案例)
数据库·mongodb·mapreduce·索引·aggregate·pipline
abcefg_h2 天前
MongoDB简介
数据库·mongodb
灋✘逞_兇4 天前
Linux下安装MongoDB
linux·运维·mongodb