当前位置: 首页 > article >正文

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

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

1 背景

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

2 docker 安装配置mongodb

2.1 拉取docker镜像
docker pull mongo:4.2

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

2.2 创建相关文件夹

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

cd /usr/local
mkdir -p mongodb/data mongodb/conf mongodb/logs

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

2.3 创建mongodb配置文件

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

cd /usr/local/mongodb/conf
vim mongod.conf

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


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的语句如下

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 是否安装成
执行如下语句

docker ps

如果返回如下效果
在这里插入图片描述
那说明mongodb已经安装完成


http://www.kler.cn/a/133679.html

相关文章:

  • PNG图片批量压缩exe工具+功能纯净+不改变原始尺寸
  • 【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
  • WordPress HTTPS 配置问题解决方案
  • Spring Boot 2.x 和 Druid 多数据源整合 dm
  • 【stable diffusion部署】超强AI绘画Stable Diffusion,本地部署使用教程,完全免费使用
  • 【嵌入式开发】单片机CAN配置详解
  • 关于我开始热爱生活,也会把该做的做好这件事
  • 【算法每日一练]-分块(保姆级教程 篇1)POJ3648
  • 百胜杯答题系统
  • 公网访问全能知识库工具AFFINE,Notion的免费开源替代
  • 【hive遇到的坑】—使用 is null / is not null 对string类型字段进行null值过滤无效
  • C++ 虚函数和多态性
  • React整理总结(三)
  • 公司内部网络架设悟空CRM客户管理系统 cpolar无需公网IP实现内网,映射端口外网访问
  • 【测开求职】面试题:HR面相关的开放性问题
  • 基于Prometheus快速搭建网络质量监控平台
  • 2023_“数维杯”问题B:棉秸秆热解的催化反应-详细解析含代码
  • 计算机毕业设计选题推荐-点餐微信小程序/安卓APP-项目实战
  • Java Web——JavaScript基础
  • 高防IP是什么?如何隐藏源站IP?如何进行防护?
  • 代码随想录二刷 | 数组 | 总结篇
  • 03 前后端数据交互【小白入门SpringBoot + Vue3】
  • wpf devexpress在未束缚模式中生成Tree
  • IDEA写mybatis程序,java.io.IOException:Could not find resource mybatis-config.xml
  • 单元测试实战(六)其它
  • 【HarmonyOS开发】设备调试避坑指南