docker学习记录:创建mongodb副本集

目的,是创建三个,避免出现错误时,仍然能正常工作。

要在 Docker 中创建一个 MongoDB 集群(副本集),并确保数据存储在本地,同时允许局域网访问,你可以按照以下步骤进行操作。我们将创建三个 MongoDB 实例,并将它们配置为副本集。

步骤 1:创建本地数据目录首先,确保你的本地有三个目录用于存储 MongoDB 的数据。你可以使用以下命令创建这些目录:

mkdir -p ~/mongodb-data/mongo1
mkdir -p ~/mongodb-data/mongo2
mkdir -p ~/mongodb-data/mongo3
kt@kt-SYS-4028GR-TR2:~$ pwd
/home/kt
kt@kt-SYS-4028GR-TR2:~$ mkdir -p ~/mongodb-data/mongo1
mkdir -p ~/mongodb-data/mongo2
mkdir -p ~/mongodb-data/mongo3
kt@kt-SYS-4028GR-TR2:~$ lsanaconda3                              Documents   kibana-config   Music      snap        下载
'Clash for Windows-0.20.16-x64-linux'   Downloads   kibana.yml      Pictures   TemplatesDesktop                                gitee       mongodb-data    Public     Videos
kt@kt-SYS-4028GR-TR2:~$ cd mongodb-data
kt@kt-SYS-4028GR-TR2:~/mongodb-data$ ls
collection-0-6568957423112683287.wt  index-5-6568957423112683287.wt  mongo3           WiredTiger.lock
collection-2-6568957423112683287.wt  index-6-6568957423112683287.wt  mongod.lock      WiredTiger.turtle
collection-4-6568957423112683287.wt  journal                         sizeStorer.wt    WiredTiger.wt
diagnostic.data                      _mdb_catalog.wt                 storage.bson
index-1-6568957423112683287.wt       mongo1                          WiredTiger
index-3-6568957423112683287.wt       mongo2                          WiredTigerHS.wt
kt@kt-SYS-4028GR-TR2:~/mongodb-data$ 

步骤 2:启动 MongoDB 容器使用   docker run   命令启动三个 MongoDB 容器,并将数据卷挂载到本地目录。以下是启动命令:

# 启动第一个 MongoDB 实例
sudo docker run -d --name mongo1 -p 27017:27017 -v ~/mongodb-data/mongo1:/data/db mongo --replSet "rs"# 启动第二个 MongoDB 实例
sudo docker run -d --name mongo2 -p 27018:27017 -v ~/mongodb-data/mongo2:/data/db mongo --replSet "rs"# 启动第三个 MongoDB 实例
sudo docker run -d --name mongo3 -p 27019:27017 -v ~/mongodb-data/mongo3:/data/db mongo --replSet "rs"

•   -d  :以 detached 模式运行容器。•   --name  :为每个容器指定一个名称。•   -p  :将容器的 27017 端口映射到宿主机的不同端口(27017、27018、27019)。•   -v  :将本地目录挂载到容器的   /data/db   目录,这样数据会被持久化。•   --replSet "rs"  :指定容器为副本集的一部分。步骤

3:连接到 MongoDB 实例连接到任意一个 MongoDB 实例以进行副本集配置。你可以使用以下命令进入第一个 MongoDB 容器:

sudo docker exec -it mongo1 mongo

步骤 4:配置副本集在 MongoDB shell 中,使用以下命令配置副本集:

•   _id  :副本集的名称。•   members  :包含副本集成员的数组,每个成员都有一个唯一的   _id   和   host  (IP 地址和端口)。步骤 5:验证副本集状态执行以下命令查看副本集的状态:javascriptrs.status();
这将显示副本集的状态信息,包括主节点和从节点的信息。步骤 6:访问 MongoDB现在,你可以通过局域网访问 MongoDB。使用以下连接字符串连接到 MongoDB:mongodb://10.73.30.241:27017
你可以使用 MongoDB 客户端工具(如 MongoDB Compass 或 Robo 3T)连接到这个地址。关键解释• 副本集:MongoDB 的副本集是一组 MongoDB 服务器,提供高可用性和数据冗余。一个副本集包含一个主节点和多个从节点。• 数据持久化:通过将数据卷挂载到本地目录,确保即使容器被删除,数据仍然保留。• 端口映射:通过将容器的端口映射到宿主机的不同端口,确保可以从外部访问 MongoDB。通过这些步骤,你可以成功地在 Docker 中部署 MongoDB 集群,并确保数据持久化和局域网访问。如果还有其他问题,请随时询问!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/503889.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浙江安吉成新的分布式光伏发电项目应用

摘 要:分布式光伏发电站是指将光伏发电组件安装在用户的建筑物屋顶、空地或其他适合的场地上,利用太阳能进行发电的一种可再生能源利用方式,与传统的大型集中式光伏电站相比,分布式光伏发电具有更灵活的布局、更低的建设成本和更高…

IDEA 字符串拼接符号“+”位于下一行的前面,而不是当前行的末尾

效果图 IDEA 默认效果是“历史效果”,经过修改后为“预期效果” 设置方式 在设置中找到Editor > Code Style > Java > Wrapping and Braces > Binary expressions > 勾选 Operation sign on next line 即可实现。具体设置如图。

基于phpstudy快速搭建本地php环境(Windows)

好好生活,别睡太晚,别爱太满,别想太多。 声明 仅作为个人学习使用,仅供参考 对于CTF-Web手而言,本地PHP环境必不可少,但对于新手来说从下载PHP安装包到配置PHP环境是个非常繁琐的事情,因此笔者…

后台管理系统引导功能的实现

引导是软件中经常见到的一个功能,无论是在后台项目还是前台或者是移动端项目中。 那么对于引导页而言,它是如何实现的呢?通常情况下引导页是通过 聚焦 的方式,高亮一块视图,然后通过文字解释的形式来告知用户该功能的作…

vscode通过ssh连接服务器实现免密登录

一、通过ssh连接服务器 1、打开vscode,进入拓展(CtrlShiftX),下载拓展Remote - SSH。 2、点击远程资源管理器选项卡,选择远程(隧道/SSH)类别。 3、点击SSH配置。 4、在中间上部分弹出的配置文件…

解决HBuilderX报错:未安装内置终端插件,是否下载?或使用外部命令行打开。

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 错误描述 在HBuilderX中执行npm run build总是提醒下载插件;图示如下: 但是,下载总是失败。运行项目时候依然弹出上述提醒。 解决方案 …

Wi-Fi Direct (P2P)原理及功能介绍

目录 Wi-Fi Direct (P2P)介绍Wi-Fi Direct P2P 概述P2P-GO(P2P Group Owner)工作流程 wifi-Direct使用windows11 wifi-directOpenwrtwifi的concurrent mode Linux环境下的配置工具必联wifi芯片P2P支持REF Wi-Fi Direct &#xff…

分享:osgb倾斜数据转cesium-3dtiles 小工具.

背景: 很多知识殊途同归,在三维软件这块,少不了要和各种各样的数据格式打交道.osgb,stl,obj,3dtiles,3ds等等..虽然里面本质核心基本都是几何数据拓扑数据材质纹理数据等等,但是由于其组织方式不同和特殊的应用场景,导致很多模型需要转来转去...相信很多人在这方面都或多或少吃…

spring boot 多数据源集成mysql、postgresql、phoenix、doris等

如何搭建多数据源项目只要以下简单几步; 一. 创建核心在config.datasource文件夹里 二. 引入相对应的jar包 三. 创建数据库连接配置 四. 写逻辑代码进行验证 1.DataSource package com.irootech.config.datasource;import java.lang.annotation.*;Target({ElementType.MET…

25年01月HarmonyOS应用基础认证最新题库

判断题 “一次开发,多端部署”指的是一个工程,一次开发上架,多端按需部署。为了实现这一目的,HarmonyOS提供了多端开发环境,多端开发能力以及多端分发机制。 答案:正确 《鸿蒙生态应用开发白皮书》全面阐释…

uniapp 导入uview-plus,使用组件出现,页面出现<up-parse>元素不存在,请检查你的代码

错误截图: 原因: 未按照官网方式进行配置,需要进行以下配置。具体详情 // pages.json {"easycom": {"autoscan": true,// 注意一定要放在custom里,否则无效,https://ask.dcloud.net.cn/question…

unity 播放 序列帧图片 动画

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、方法一:代码控制播放序列帧1、设置图片属性2、创建Image组件3、简单的代码控制4、挂载代码并赋值 二、方法二:直接使用1.Image上添加…

使用JMeter玩转tidb压测

作者: du拉松 原文来源: https://tidb.net/blog/3f1ada39 一、前言 tidb是mysql协议的,所以在使用过程中使用tidb的相关工具连接即可。因为jmeter是java开发的相关工具,直接使用mysql的jdbc驱动包即可。 二、linux下安装jmet…

CANN 学习——基于香橙派 KunpengPro(1)

异构计算架构CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程。 1CANN 总体架构 CANN 软件架…

计算机毕业设计Python中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

海陵HLK-TX510人脸识别模块 stm32使用

一.主函数 #include "stm32f10x.h" // Device header #include "delay.h" #include "lcd.h" #include "dht11.h" #include "IOput.h" #include "usart.h" //#include "adc.h" …

apex安装

安装过程复杂曲折,网上说的很多办法,貌似成功了,实际还是没起作用。 先说成功过程,执行下面命令,安装成功(当然,前提是你要先配置好编译环境): (我的环境&a…

虹软人脸识别

虹软人脸识别 一.虹软人脸识别1. 获取APP_ID与SDK_KEY2. 获取SDK二.Spring整合1. jar包引入2. yaml配置3. 配置类4. 工具类5. api接口6. 启动加载三.前端四.相关文献一.虹软人脸识别 开发者平台 1. 获取APP_ID与SDK_KEY 2. 获取SDK 开发文档 jar包与dll文件

oracle闪回恢复数据:(闪回查询,闪回表,闪回库,回收站恢复)

oracle的闪回查询,可以查询提交在表空间的闪回数据,并可以还原所查询的数据,用于恢复短时间内的delele 或者 update 误操作,非常方便,缺点是只能恢复大概几小时内的数据。 文章目录 概要闪回查询恢复数据的主要方法包括…

【第01阶段-基础必备篇-第二部分--Python之基础】04 函数

1 定义函数 自定义函数的语法格式如下: 以英文半角冒号结尾 由于定义函数时的参数不是实际数据,会在调用函数时传递给它们实际数据,所以我们称定义函数时的参数为形式参数,简称形参:称调用函数时传递的实际数据为实际参数&#x…