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已经安装完成

相关推荐
清风66666616 小时前
基于51单片机自动浇花1602液晶显示设计
单片机·嵌入式硬件·mongodb·毕业设计·51单片机·课程设计
大新屋16 小时前
MongoDB 分片集群修改管理员密码
数据库·mongodb
foundbug99917 小时前
Node.js导入MongoDB具体操作
数据库·mongodb·node.js
大新屋19 小时前
MongoDB 分片集群复制数据库副本
数据库·mongodb
anghost1501 天前
基于单片机的智能声控窗帘
单片机·嵌入式硬件·mongodb
.用户昵称已存在.3 天前
MongoDB 从入门到精通:安装配置与基础操作指令详解
数据库·mongodb
GeekAGI3 天前
PyMongo 中 `ServerSelectionTimeoutError` 和 `NetworkTimeout` 异常的区别
mongodb
异世界贤狼转生码农3 天前
MongoDB Windows 系统实战手册:从配置到数据处理入门
数据库·mongodb
竹照煜_ysn4 天前
STM32——软硬件I2C
stm32·嵌入式硬件·mongodb