docker部署mongoDB

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: docker部署mongoDB

测试环境一般直接使用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_data

docker 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.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.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>


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
13天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
78 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
24天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
79 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
14天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
14天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
32 1
|
26天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
27天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
34 3
|
30天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
261 3
|
1月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
105 1
|
14天前
|
存储 NoSQL MongoDB
【赵渝强老师】部署MongoDB复制集
本文介绍了如何在单个节点上搭建MongoDB复制集环境,通过监听不同端口实现多节点配置。详细步骤包括创建数据目录、编辑配置文件、启动节点、初始化复制集、查看状态以及测试主从库的读写操作。文中还提供了视频讲解和代码示例,帮助读者更好地理解和操作。
|
14天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
44 0
下一篇
无影云桌面