docker部署mongoDB

server/2025/1/16 1:35:10/

测试环境一般直接使用docker部署mongo,速度比较快

Docker部署MongoDB是一种高效且灵活的方式,用于在容器化环境中快速安装和运行MongoDB数据库。以下是关于Docker部署MongoDB的简要介绍:
Docker是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口。MongoDB则是一个流行的NoSQL数据库,以其灵活性和可扩展性而著称。
通过Docker部署MongoDB,您可以轻松地在任何支持Docker的平台上创建和管理MongoDB实例。这种部署方式具有许多优势,包括:
环境一致性:Docker容器提供了一致的运行环境,无论在哪个机器或平台上,MongoDB的行为都将保持一致。
快速部署:使用Docker可以极大地简化MongoDB的部署过程,只需通过简单的命令即可创建并启动容器
资源隔离:Docker容器提供了资源隔离机制,确保MongoDB实例在运行时不会受到其他应用程序的干扰。
易于扩展:通过Docker的容器编排工具(如Docker Swarm或Kubernetes),您可以轻松地扩展MongoDB集群的规模,以满足不断变化的业务需求。
此外,Docker部署MongoDB还提供了许多可配置选项,例如端口映射、数据卷挂载等,使您能够根据自己的需求进行定制。
总之,Docker部署MongoDB是一种高效、灵活且易于管理的解决方案,适用于各种规模的应用程序和数据存储需求。

步骤

下载镜像,我选择了4.4.11版本

docker pull mongo:4.4.11

在这里插入图片描述

普通启动

docker run -itd --name mongo -p 27017:27017 mongo --auth

数据库持久化

docker volume create mongo_local_datadocker run --name my_mongo -v /mongo_local_data:/data/db  --rm -d -p 27017:27017 mongo:4.4.11

挂载配置文件和日志

docker run --restart=always --name my_mongo -v /mongo_local_data:/data/db -v /data/mongo/conf:/data/conf -v /data/mongo/log:/data/log -d -p 27017:27017 mongo:4.4.11docker run --restart=always --name my_mongo -v /mongo_local_data:/data/db -v /data/mongo/conf:/data/conf -v /data/mongo/log:/data/log -d -p 27017:27017 mongo:4.4.11 --replSet "rs0"

进入容器,准备创建用户和密码

docker exec -it mongo mongo admin

执行命令

创建用户

use admin; // 切换到admin数据库  
db.createUser({  user: 'cert_db_user',  pwd: 'VzvUwSdn2FdiI2c1',  roles: [  { role: 'userAdminAnyDatabase', db: 'admin' }, // 在admin数据库上赋予userAdminAnyDatabase角色  { role: 'readWriteAnyDatabase', db: 'admin' }  // 在admin数据库上赋予readWriteAnyDatabase角色  ]  
});

连接

db.auth('cert_db_user', 'VzvUwSdn2FdiI2c1');

在这里插入图片描述

连接工具

mongoshell : https://www.mongodb.com/try/download/shell

Navicat for MongoDB: https://www.navicat.com.cn/download/direct-download?product=navicat_mongodb_cs_x64.exe&location=1

mongoshell

双击:mongosh.exe
在这里插入图片描述
输入mongo的url

mongodb://cert_db_user:VzvUwSdn2FdiI2c1@127.0.0.1:27017/cert_db?authSource=cert_db

navicat

在这里插入图片描述

错误 MongoDB 运行事务时报“Transaction numbers are only allowed on a replica set member or mongos“错误

docker run -d -p 27018:27017 --name mongo1 mongo --replSet “rs0”

docker exec -it 65 mongo # 进入主节点mongo

#进行副本集配置

如果只有一个节点

var config={_id:"rs0",members:[{_id:0,host:"127.0.0.1:27017"},]};

多个节点

var config={_id:"rs0",members:[{_id:0,host:"192.168.11.45:27018"},{_id:1,host:"192.168.11.45:27019"},{_id:2,host:"192.168.11.45:27020"}]};

#启动新的副本集

> rs.initiate(config)
{ "ok" : 1 }
此时命令提示符已经发生变化,由原来的 > 变成了 rs:SECONDARY>

http://www.ppmy.cn/server/1733.html

相关文章

应用回归分析,r语音,第4章,思考与练习,BOX-COX变换,答案,代码

续上1篇。 4.9(3)R^2=0.66,小于普通最小2乘的R^2=0.705, (4)y1^=0.58+0.00095x,等级相关系数-0.17,p值0.21>0.05,说明异方差已经消除, y1=sqrt(y) lm4.4<-lm(y1~x,data = Book4_9) summary(lm4.4) Call: lm(formula = y1 ~ x, data = Book4_9)Residuals:Min …

HCIP-Datacom(H12-821)题库补充(4月12日)

最新 HCIP-Datacom&#xff08;H12-821&#xff09;完整题库请扫描上方二维码访问&#xff0c;持续更新中。 在BGP进程下&#xff0c;Aggregate命令中的detail&#xff3f;suppressed关键字的作用是以下哪一项&#xff1f; A&#xff1a;抑制生成的聚合路由下发IP路由表 B&…

ant design vue + jeecgboot 实现本地上传视频及播放视频功能

文章目录 上传视频1. 上传按钮事件2. 上传按钮触发3. 声明变量visible_uploadVideov4. 上传视频弹窗5. 保存视频6. 关闭上传视频弹窗 播放视频1. 获取上传后的视频1.1 插槽2. 触发播放视频事件3. 播放视频弹窗4. 暂停视频 上传视频 1. 上传按钮事件 点击上传按钮事件 --这个地…

Kubernetesr容量规划: 如何合理设置集群资源

本文译自 Kubernetes capacity planning: How to rightsize the requests of your cluster 原文链接&#xff1a;https://sysdig.com/blog/kubernetes-capacity-planning/ Kubernetes 容量规划是基础架构工程师面对的主要挑战之一&#xff0c;正确理解 Kubernetes 的资源要求和…

React + 项目(从基础到实战) -- 第七期

使用ant design 表单组件,开发登录,注册,搜索功能 React 表单组件 ,受控组件 案列 使用defaultVlue属性 bug : 改变了数据源,但是页面未重新渲染 {/* 表单组件 */}<button onClick{()>{console.log(text);}}>打印</button><button onClick{()>[setText(&…

【YOLOv5】使用yolov5训练模型时报错合集

文章目录 前言问题1 -- VsCode终端无法进入Anaconda创建的虚拟环境【问题描述】【问题分析】【解决方式】方法一方法二 问题2 -- 怎么在VsCode中为项目配置Anaconda创建的虚拟环境【问题描述】【解决方式】 问题3 -- yolov5训练模型时报错RuntimeError: result type Float cant…

【ElasticSearch】安装(bug篇)

以下解决办法参考自网友们的分享 1. JDK绑定问题 但其实这样也没有问题&#xff0c;因为内嵌的jdk版本与当前的es版本是适配的 但是&#xff0c;如果内嵌的jdk与当前es不适配&#xff0c;那就要修改配置文件 / 添加环境变量&#xff0c;让es启动的时候能扫描到我们本地的jdk …

Jmeter配置服务器监控插件

1.安装插件管理器 插件官网地址&#xff1a;JMeter Plugins :: JMeter-Plugins.org 点击 Plugins Manager,如上图所示&#xff0c; &#xff0c;点击jar file下载“plugins-manager.jar”&#xff0c;下载后放到“jmeter\lib\ext”目录下&#xff0c;重启jmeter。 2.安装资源…