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

相关推荐
૮・ﻌ・1 小时前
Node.js - 04:MongoDB、会话控制
数据库·mongodb·node.js·jwt·token·cookie·session
七夜zippoe3 小时前
MongoDB聚合框架与性能优化实战指南
数据库·python·mongodb·性能优化·聚合框架
数据知道20 小时前
《深入掌握MongoDB数据库》 - 专栏介绍和目录
网络·数据库·mongodb
暖阳常伴1 天前
Windows安装MongoDB
数据库·windows·mongodb
数据知道1 天前
MongoDB原子操作边界:理解单文档事务与多文档事务的适用场景
数据库·mongodb
数据知道1 天前
MongoDB多对多关系设计:构建高效关联查询的解决方案
数据库·mongodb
深念Y1 天前
记一个BUG:Trae里MongoDB和MySQL MCP不能共存
数据库·mysql·mongodb·ai·bug·agent·mcp
数据知道1 天前
MongoDB地理位置数据处理:GeoJSON格式与空间查询技巧
数据库·mongodb
数据知道1 天前
MongoDB大数据文档设计:处理超过16MB文档的实用策略
数据库·mongodb
数据知道2 天前
MongoDB聚合管道性能优化:阶段重排与内存使用控制策略
数据库·mongodb·性能优化