Docker搭建MongoDB

1. Docker搭建Mongodb

1.1 获取docker镜像
docker pull mongo
1.2 创建mongodb容器
docker run --name  my-mongo  -p 27017:27017  -d mongo --auth

如果加需要验证就加--auth,不需要验证,就去掉。默认mongodb是不使用用户认证

1.3 进入容器设置用户
docker exec -it 容器id /bin/bash

mongo
use admin
db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})   //创建用户,此用户创建成功,则后续操作都需要用户认证
exit

或者直接进入admin

docker exec -it ly-mongo mongo admin

db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})   //创建用户,此用户创建成功,则后续操作都需要用户认证
exit
1.4 测试
mongo  宿主机ip/admin  -utest -p

查看是否连接成功

2.维护mongoDB

2.1 指定MongoDB配置文件

当我们需要修改配置文件时,我们只需要在宿主机上创建一个mongodb.conf文件,并将该文件所在的文件夹映射到容器的/data/configdb文件夹中,同时,在容器的启动命令中添加--configsvr参数即可。

docker run --name some-mongo -d mongo --configsvr
2.2 数据持久化

在使用MongoDB的容器时,数据持久化有很多种方式,下面我们将描述一种推荐的方式:

  • 在宿主机上创建一个数据存储目录,并将其映射到容器中的目录中。
    这将数据库文件放在主机系统中的已知位置,并便于主机系统上的工具和应用程序访问文件。
    缺点是用户需要确保目录存在,例如,主机系统上的目录权限和其他安全机制配置正确。
    使用方法如下:

    在宿主机中创建一个目录,例如/my/own/datadir。
    如下命令启动容器:

docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo:tag
2.3 数据库授权

默认情况下,Mongo数据库没有添加认证约束,也就是说任何人只要知道数据库服务的地址和端口,就可以正常访问数据库并对数据库进行增删改查。
为了增强数据库的安全性,我们需要对数据库添加授权认证。
添加方式如下:

在启动数据库容器命令中添加--auth参数。

docker run --name some-mongo -d mongo --auth

使用exec命令进入命令行,并添加用户名和密码。

docker exec -it some-mongo mongo admin
db.createUser({ user: 'jsmith', pwd: 'some-initial-password', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
2.4 数据库备份

通常情况下,我们需要对数据库进行备份。
首先,我们需要将本地磁盘的某个文件夹映射到容器中的备份文件夹中:

docker run --name mongo -v /mnt/mongo/backup:/data/backup -d mongo

数据库备份的方式如下:

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u test -p test1 -d dbname -o /data/backup/$var_test1.dat'

3.推荐用法

执行如下命令拉取Mongo镜像:

docker pull mongo
创建Mongo专用的文件夹:

cd /mnt
mkdir mongodb
cd ./mongodb
mkdir data
mkdir backup
执行如下命令启动MongoDB:

docker run --name mongo -p 27017:27017 -v /mnt/mongodb/data:/data/db -v /mnt/mongodb/backup:/data/backup -d mongo --auth

接下来,我们需要进入容器的命令行去创建用户名和密码:

docker exec -it mongo mongo admin
db.createUser({ user: 'jsmith', pwd: 'password', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
use test;
db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]});
db.auth("testuser","testpass")

在运行一段时间以后,我们可以执行如下命令进行数据库备份:

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u jsmith -p password -d dbname -o /data/backup/$var_test1.dat'

转载于:https://www.cnblogs.com/smiler/p/10112676.html

Docker Compose部署Mongodb教程-单机 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,我们使用Docker Compose来部署mongodb更方便快捷,也更容易方便管理。首先需要在目标机器上安装Docker和Docker Compose。如果你已经安装过了,可以跳过这一步。 阅读详情

相关推荐

使用Docker安装MongoDB

使用Docker安装mongoDB

AAIT11的博客 5783

docker安装mongoDB及使用

docker安装mongo以及mongoDB的简单使用

packge的博客 4万+

Docker MongoDB v4.0.0 集群搭建

Docker MongoDB v4.0.0 集群搭建 简单地在Docker环境上搭建一个无认证的MongoDB集群。 本文基于CentOS 7.4,MongoDB版本为4.0.0,Docker版本为17.09.0-ce 1. 本文使用的容器 集群角色 ContainerName IP:port Config Server cfg_1 10.1.1.2:2...

vincerom的博客 9035

docker 搭建mongodb 推荐用法

推荐用法 执行如下命令拉取Mongo镜像: docker pull mongo 创建Mongo专用的文件夹: cd /mnt mkdir mongodb cd ./mongodb mkdir data mkdir backup 执行如下命令启动MongoDB: docker run --name mongo -p 27017:27017 -v /mnt/mongodb/data:/dat...

0x8g1T9E- 5138

基于Docker的MongoDB环境搭建:从零开始的完整实践指南

通过上述步骤,我们成功构建了具备生产级安全特性的MongoDB容器环境。秒级部署:通过镜像模板实现环境快速重建灵活扩展:支持垂直扩容与水平分片集群安全合规:满足GDPR等数据安全法规要求Kubernetes Operator实现自动化运维MongoDB Atlas混合云部署架构基于F5 BigIP的智能负载均衡方案掌握容器化数据库部署技术,将为构建云原生应用奠定坚实基础。建议开发者持续关注CNCF与MongoDB官方社区的技术动态,及时引入智能化运维工具提升系统可靠性。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 961

使用 Docker 搭建 MongoDB 分片集群

配置服务器(Config Server):存储分片集群的元数据,负责跟踪数据分布情况。路由服务器(Mongos):处理应用程序的请求,路由请求到相应的分片。分片服务器(Shard):存储实际的数据,每个分片可以是一个或多个 MongoDB 实例组成的副本集。MongoDB 分片集群通过将数据分布到多个分片上,确保高扩展性和高可用性。通过使用 Docker Compose,我们可以轻松部署一个包含多个分片和副本集的 MongoDB 集群。

ljguo2008的专栏 1467

Docker下搭建mongodb副本集

背景 有需求需要对mongodb做一个容灾备份。根据官网,发现mongodb最新版本(4.0)已经抛弃了主从模式而采用副本集进行容灾。副本集的优势在于:”有自动故障转移和恢复特性,其任意节点都可以是主节点,并能实现读写分离,提供高负载“。官方建议副本集最低配置三个节点。关于副本集的原理更多请参考这位小姐姐的博客 搭建步骤 制作mongodb镜像 首先需要做一个mongodb的docker镜像,...

xiaobai_ol的博客 779

别再只画版图了!用ADS RFPro的Circuit模型,快速评估滤波器加电容后的性能变化

本文详细介绍了如何利用ADS RFPro的Circuit模型功能,实现射频滤波器设计中版图与集总元器件的高效协同仿真。通过混合仿真技术,工程师可以快速评估滤波器加电容后的性能变化,大幅缩短设计迭代周期,提升工作效率。文章还提供了实战案例和高级技巧,帮助读者掌握这一创新设计方法。

weixin_28559803的博客 256

基于Docker的MongoDB集群搭建

基于Docker的MongoDB集群搭建。

梁诗傑的博客 2081

2025趋势:经济学研究中AI多智能体系统的6大架构方向(AI应用架构师必藏)

多智能体系统(MAS)由多个相互作用的智能体组成,每个智能体具备自主决策能力、感知环境的能力和与其他智能体通信的能力。微观行为的精细化建模:智能体可被赋予异质的偏好函数、信息集和决策规则,模拟真实市场的多样性动态交互的涌现性分析:通过智能体间的局部互动(如交易、合作、竞争),观察宏观经济现象的涌现过程反事实政策实验:在虚拟环境中安全测试极端政策(如负利率、全民基本收入)的连锁反应实时自适应调整:智能体可通过机器学习持续优化策略,模拟经济系统的演化特性。

AI 领航者的博客 1424

还在手敲LaTeX公式?用Rime小狼毫打造你的专属数学输入法(附完整配置包)

本文介绍如何利用Rime小狼毫输入法引擎打造专属数学公式输入方案,显著提升LaTeX公式输入效率。通过详细配置教程和智能补全技巧,帮助科研人员和学生实现3-5倍的输入速度提升,特别适合学术写作和技术文档创作场景。

weixin_32520601的博客 280

程序员如何基于Docker方式搭建MongoDB集群

MongoDB目前是最流行的非关系型数据库,他的数据存储并不是key-value形式,而是BSON格式。具体用法,可以参考菜鸟教程《MongDB教程》,这里就不做详细描述在这里我们主要是讲述基于Docker的Mongo集群搭建。在早期的项目开发中,一般都是采用单个数据库去存储数据,这是一种很危险的举动。一旦数据库挂了,也就意味着数据库里面存储的所有数据都挂了。基于这个原因,所以一个优秀的项目就应该采用Mongo的集群环境。

程序员高级码农的博客 1349

3D Slicer中Auto3DSeg和TotalSegmentator等自动分割插件总是安装失败,怎么办?教你两招

TotalSegmentator, MONAI auto3Dseg,这些工具因分割器官多,准确性高,备受关注。同时,这些自动分割工具被集成在了3D slicer平台,非常方便临床医生做手术规划。详细了解这些工具看之前的教程👇-------- 简单概述 --------其中,MONAIAuto3DSeg扩展附带数十种针对特定临床用例的预训练分割模型,这些模型旨在快速运行,几分钟内即可在任何普通计算机上运行,无需 GPU,甚至在笔记本电脑上。

zzjlhlcd的博客 1696

Docker 下的 MongoDB + Mongo-Express 环境搭建

MongoDB 是一种面向文档的、介于关系型数据库和非关系型数据库的系统,Mongo-Express 则是一款图形化的 MongoDB web 客户端管理工具,使用 Node.js、Express 和 Bootstrap3 编写。去年,MongoDB 4.0 正式发布,新特性中包含支持 ACID 事务,这也使得 MongoDB 在今后的作用和优势将会越来越明显。 Mongo-Express ...

happyJared 3238

Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting 论文笔记

Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting 论文笔记-----GCN在交通领域的应用(二) 一、论文翻译: 1、摘要: 及时准确地交通预测对于城市交通控制和指导具有至关重要的意义。由于交通流量的非线性和复杂性,传统的方法不能满足中长期预测任务的需求,并且往往会忽略时空数据的时间和空间依赖特性。在这篇论文中,为了处理在交通领域的时间序列预测问题...

cy_believ的博客 1916

FPGA,关于安装使用libero IDE V9.2 及其gold floating license配置

3、license安装根据,下面的提示进行,跟随setting up the license server on a host教程操作。1、从官网下载Libero IDE v9.2(如下图中的Libero IDE v9.2 software)4、下载完成license解压包后还需要下载 Daemons license ,地址如下。(2)第一行并不是在内填写,而是直接用您电脑名替换掉(1)修改license.bat前四行是,其务必保持和案例位置相同(避免出错)............

JasonK的博客 4290

通过docker-compose快速搭建mongodb副本集

转https://monkeywie.github.io/2020/03/10/mongodb-replica-set/?utm_source=tuicool&utm_medium=referral 前言 mongoDB 提供的副本集是将数据同步至多个节点,提供了数据冗余备份和节点故障的情况下可以自动转移的高可用特性,架构图如下: 有时候需要要在本地搭建一套 mongoDB 副本...

0x8g1T9E- 7399

深度学习模型轻量化方法之【量化】

量化虽然有着硬件友好和功效提升的特点,但它也引入了模型性能的折衷。因此,设计有效的量化策略需要在模型大小、性能以及运算速度之间做出平衡。随着深度学习算法和硬件加速技术的快速发展,量化方法在使深度网络轻量化和提高部署效率方面持续发挥着重要作用。

m0_73916791的博客 2846

docker快速搭建mongodb的分片集群

docker快速搭建mongodb的分片集群

qq_45003354的博客 1040

Hermes Agent 对阵 OpenClaw:自我改进的 AI 队友

但在 2026 年 2 月,Nous Research 发布了 Hermes Agent,它带来了不同的愿景:一个不仅能够运行,还能学习的代理。在完成复杂的多步骤任务后,它会分析自己的操作并创建一个可复用的技能。对于已在使用 OpenClaw 的澳大利亚企业而言,这意味着您可以试用 Hermes Agent,而无需丢失数月的配置和自定义成果。最重要的区别在于理念:OpenClaw 是一个需要配置的工具,而 Hermes Agent 则是一个会学习的队友。OpenClaw 的技能是静态的。

xiaoshun007的专栏 1571

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

docker搭建mongodb集群

详细链接https://cloud.tencent.com/developer/article/1509149 docker pull mongo:4.0.0 为MongoDB集群创建独立的docker网桥 #创建容器间公用的网络 docker network create --subnet=10.1.1.0/24 mongodb0 #查看docker 下边的所有网络情况 docker netwo...

qq_43373608的博客 1185

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

mongoDB副本集搭建-docker

mongo数据备份 docker。mongo数据导入 docker。

qq_46524280的博客 951

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Docker MongoDB v4.1.6集群搭建

Docker MongoDB v4.1.6集群搭建 简单地在Docker环境上搭建一个无认证的MongoDB集群。 本文基于ubuntu18.04,MongoDB版本为4.1.6,Docker版本为19.0.0-ce 1. 本文使用的容器 集群角色 ContainerName IP:port Config Server cfg_1 10.1.1.2:27019 Conf...

0x8g1T9E- 5611
上一篇: docker 创建mysql镜像,并成功进行远程连接
下一篇: Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)
dddp75921
博客等级 码龄12年 9粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值