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

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 集群,并确保数据持久化和局域网访问。如果还有其他问题,请随时询问!

相关文章:

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

目的,是创建三个,避免出现错误时,仍然能正常工作。 要在 Docker 中创建一个 MongoDB 集群(副本集),并确保数据存储在本地,同时允许局域网访问,你可以按照以下步骤进行操作。我们将创…...

JAVA学习-练习试用Java实现“从用户输入获取一个字符串,并使用split方法将其拆分为单词数组,然后打印出所有单词”

问题: 创建一个Java程序,从用户输入获取一个字符串,并使用split方法将其拆分为单词数组,然后打印出所有单词。 解答思路: 以下是一个Java程序,它从用户输入获取一个字符串,并使用 split 方法…...

网络安全 | 数据隐私保护:全球趋势与合规要求

网络安全 | 数据隐私保护:全球趋势与合规要求 一、前言二、全球数据隐私保护的主要趋势2.1 法律法规的强化2.2 消费者意识的觉醒2.3 技术创新推动隐私保护升级 三、不同国家和地区的数据隐私法规3.1 欧盟《通用数据保护条例》(GDPR)3.2 美国《…...

2025年度流行色揭晓:温暖舒适的摩卡慕斯

近日,全球色彩权威机构Pantone公布了2025年度流行色——PANTONE 17-1230 Mocha Mousse (摩卡慕斯)。这是一种温暖的柔和棕色,蕴含着内在的丰富质感,让人联想到可可、巧克力和咖啡的美味质量,满足我们对舒适和简单愉悦的渴望。 Pan…...

el-table拖拽表格

1、拖拽插件安装 npm i -S vuedraggable // vuedraggable依赖Sortable.js,我们可以直接引入Sortable使用Sortable的特性。 // vuedraggable是Sortable的一种加强,实现组件化的思想,可以结合Vue,使用起来更方便。 2、引入拖拽函数…...

Oracle LiveLabs实验: Multitenant Advanced Capabilities

本文为Oracle LiveLabs中实验Multitenant Advanced Capabilities的过程记录。 本实验不提供云上的免费环境,需要利用你自己的OCI账号来创建环境。 实验环境是通过OCI中的Stack,也就是Terraform自动创建的。 Oracle Resource Manager (ORM) stack 文件…...

【大模型】百度千帆大模型对接LangChain使用详解

目录 一、前言 二、LangChain架构与核心组件 2.1 LangChain 核心架构 2.2 LangChain 核心组件 三、环境准备 3.1 前置准备 3.1.1 创建应用并获取apikey 3.1.2 开通付费功能 3.2 获取LangChain文档 3.3 安装LangChain依赖包 四、百度千帆大模型对接 LangChain 4.1 LL…...

Vue3(一)

1.Vue3概述 Vue3的API由Vue2的选项式API改为了组合式API。但是,也是Vue2中的选项式API也是兼容的。 2.创建Vue3项目 create-vue 是 Vue 官方新的脚手架工具,底层切换到了 vite。使用create-vue创建项目的步骤如下: 安装 create-vue npm i…...

php命名空间

什么是命名空间 从广义上来说,命名空间是一种封装事物的方法,在很多地方都可以见到这种抽象概念。 例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。 具体举个例子&#xf…...

AI也会犯错

一、缘起 1.1 问题的发现 AI模型在处理数值比较问题时,出现了一个有趣的现象:当被问到“9.9”和“9.11”哪个更大时,一些AI模型给出了错误的答案,认为“9.9”大于“9.11”。这一问题最初是由 Riley Goodside 发现的,…...

Android NDK开发入门2之适应idm环境

环境搭建 Android NDK开发实战之环境搭建篇(so库,Gemini ai)-CSDN博客 初始配置 前面已经运行了一个简单的初始程序,现在我们来往初始程序添加类和函数,并成功运行的实验。 一级配置 第一层配置主要是cmake文件环境和一些编译选项。 build配置 可参…...

HTML-多媒体标签

除了图像&#xff0c;网页还可以放置视频和音频。 1.<video> <video>标签是一个块级元素&#xff0c;用于放置视频。如果浏览器支持加载的视频格式&#xff0c;就会显示一个播放器&#xff0c;否则显示<video>内部的子元素。 <video src"example.…...

[Linux]生产消费者模型

目录 一、生产消费者模型概念 1.概念 2.模块构成 3.协作机制 二、基于BlockingQueue的多CP问题 1.BlockQueue模块 2.Task任务模块 3.创建多线程以及整合模块 三、基于信号量的环形队列CP模型 1.POISX信号量接口 初始化信号量 PV操作 信号量销毁 2.模型简述 3.…...

从零用java实现 小红书 springboot vue uniapp (9)消息推送功能

前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们主要完成了个人资料修改 消息页优化 这篇文章我们讲解消息推送 推送页面 因为我们的推送消息都在一个页面 所以我们可以复用消息的websokcet推送 首先需要在 点赞表 收藏表 关注表 回复表 都添加未读字段 MESSAG…...

zookeeper监听机制(Watcher机制)

文章目录 引言I zookeeper监听机制Watcher机制实现分布式的通知功能触发事件种类Watcher的三个过程II watch机制特点一次性触发事件封装event异步发送先注册再触发常见的通知状态和事件类型III 应用案例(Kafka)Kafka的消息模型Kafka在Zookeeper中保存的元数据Kafka 基于Contr…...

企业开通部署 Azure OpenAI 流程:如何创建一个AI聊天机器人

由于众所周知的原因&#xff0c;国内没法直接调用 OpenAI 接口。 下面我将演示企业如何开通 Azure OpenAI 服务&#xff0c;以及如何使用 C# 调用 Azure OpenAI 接口创建一个 Console 应用程序并实现聊天机器人功能。 1开通 Azure OpenAI 服务 要开通 Azure OpenAI 服务&…...

【Linux基础指令】第一期

一、Linux的介绍 Linux是一个开源的操作系统&#xff0c;性能、稳定性、安全性方面上都是很优秀的&#xff0c;所以它一直是企业后端系统的首选。所以其图形化界面并不是Linux的必需品&#xff0c;所以我们避免不了要使用命令行的形式来使用Linux&#xff0c;也就离不开…...

使用 Rust 和 WASM 打造高性能 Web 应用

在现代 Web 开发中&#xff0c;前端性能是衡量用户体验的重要指标之一。随着 WebAssembly (WASM) 的崛起&#xff0c;它为开发者提供了一种在浏览器中运行高性能代码的方式。而 Rust&#xff0c;作为一门以性能和安全性著称的编程语言&#xff0c;与 WASM 的结合使得构建高效的…...

SQL Server中可以通过扩展事件来自动抓取阻塞

在SQL Server中可以通过扩展事件来自动抓取阻塞&#xff0c;以下是详细流程&#xff1a; 开启阻塞跟踪配置&#xff1a; • 执行以下SQL语句来启用相关配置&#xff1a; EXEC sp_configureshow advanced options, 1; RECONFIGURE; EXEC sp_configure blocked process thresh…...

无网络时自动切换备用网络环境

目录 背景目标为什么需要做自动网络切换网络切换手段 网络环境实现思路和代码部署脚本开机自动执行附录连接两个网络时的路由问题 背景 目标 学校实验室有两个网络环境&#xff0c;我电脑使用网线连接稳定但低速的网络A&#xff0c;使用WiFi连接高速但不稳定的网络B。因此&am…...

回顾2024年重磅AI发布汇总

2024年在人工智能领域出现了不少值得关注的发布和进展&#xff0c;以下是根据时间线索&#xff0c;对一些亮点突破进行了总结&#xff1a; 二月 Stability AI 宣布推出Stable Diffusion 3。 Google 升级了 Bard 中的人工智能聊天功能&#xff0c;基于新的Gemini Pro模型&…...

基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址

文章目录 基类指针指向派生类对象&#xff0c;基类指针的首地址永远指向子类从基类继承的基类起始地址。代码代码2 基类指针指向派生类对象&#xff0c;基类指针的首地址永远指向子类从基类继承的基类起始地址。 代码 #include <iostream> using namespace std;class b…...

Postman接口测试02|接口用例设计

目录 六、接口用例设计 1、接口测试的测试点&#xff08;测试维度&#xff09; 1️⃣功能测试 2️⃣性能测试 3️⃣安全测试 2、设计方法与思路 3、单接口测试用例 4、业务场景测试用例 1️⃣分析测试点 2️⃣添加员工 3️⃣查询员工、修改员工 4️⃣删除员工、查询…...

负载均衡服务器要怎么配置?

目录 一、概述&#xff1a; 二、硬件配置&#xff1a; 三、操作系统配置&#xff1a; 四、负载均衡软件&#xff1a; 五、网络配置&#xff1a; 六、软件安装步骤&#xff1a; 6.1 安装 Nginx 6.2 安装 LVS 6.3 安装 HAProxy 6.4 安装 Keepalived 一、概述&#xff1…...

技术速递|通过 .NET Aspire 使用本地 AI 模型

作者&#xff1a;Aaron Powell 排版&#xff1a;Alan Wang 使用本地 AI 模型是无需将资源部署到云中即可在自己的机器上进行实验的好方法。在本文中&#xff0c;我们将探讨如何使用 .NET Aspire 与 Ollama 来本地运行 AI 模型&#xff0c;同时利用 Microsoft.Extensions.AI 抽象…...

esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu

最近想用esp32做一个物联网项目&#xff0c;踩坑N个终于有点心得&#xff0c;写下来避免和我一样的小白踩无谓的坑。 写在前面&#xff1a; 第一&#xff0c;大家一定要用linux系统作为编译工具&#xff0c;速度上是windows无法比的&#xff0c;不要因为不熟悉linux而选择win…...

vue el-table 数据变化后,高度渲染问题

场景&#xff1a;el-table设置了height属性&#xff0c;但是切换查询条件后再次点击查询重新获取data时&#xff0c;el-table渲染的高度会有问题&#xff0c;滚动区域变矮了。 解决办法&#xff1a;使用doLayout方法‌&#xff0c;在表格数据渲染后调用doLayout方法可以重新布局…...

unity学习15:预制体prefab

目录 1 创建多个gameobject 2 创建prefab 2.1 创建prefab &#xff08;类&#xff09; 2.2 prefab 是一个文件 2.3 prefab可以导出 3 创建prefab variant &#xff08;子类&#xff09; 3.1 除了创建多个独立的prefab&#xff0c; 还可以创建 prefab variant 3.2 他…...

Harbor 安装教程

一、安装 Docker 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加 Docker 软件源信息 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo修改软件源配置 sudo sed -i sdow…...

HTML5 波动动画(Pulse Animation)详解

HTML5 波动动画&#xff08;Pulse Animation&#xff09;详解 波动动画是一种动态效果&#xff0c;使元素周期性地放大和缩小&#xff0c;给人一种脉动的感觉。以下是如何使用 CSS 和 HTML5 创建波动动画的详细说明。 1. 基本概念 波动动画&#xff1a;通过改变元素的大小来…...

【运维】如何检查电脑正常异常和关机日志? 1074正常关机或重启 6006正常关机 41非正常关机 6008异常关机

事件 ID 1074&#xff1a;正常关机或重启&#xff0c;由用户或程序请求触发。 事件 ID 6006&#xff1a;正常关机&#xff0c;表示系统已正确关闭。 事件 ID 41&#xff1a;非正常关机&#xff0c;可能是由于电源问题、硬件故障或系统崩溃导致。 事件 ID 6008&#xff1a;异常关…...

解决后端控制台报错Error updating database

数据库字段 对应实体类字段 private BigDecimal maths; private BigDecimal chinese; private BigDecimal english; 新增数据时后端控制台报错 Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for…...

(2023|NIPS,LLaVA-Med,生物医学 VLM,GPT-4 生成自指导指令跟随数据集,数据对齐,指令调优)

LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 目录 LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 0. 摘要 1. 简介 2. 相关工作 3. 生物医学视觉指令数据 4. 将多模态对话模型适配…...

I2C学习笔记

前言 我一直不是特别喜欢读文档&#xff0c;习惯了通过视频学习&#xff0c;因为视频能更直观地展现信息&#xff0c;给人一种更生动、形象的感觉。然而&#xff0c;随着学习的内容逐渐增多&#xff0c;我发现并不是所有的知识点都能在视频中找到&#xff0c;或者视频中展示的…...

JetPack——ViewModel

前提阅读 JetPack——Lifecycle Jetpack——LiveData ViewModel是什么&#xff1f; ViewModel 类是一种业务逻辑或屏幕级状态容器。它用于将状态公开给界面&#xff0c;以及封装相关的业务逻辑。 它的主要优点是&#xff0c;它可以缓存状态&#xff0c;并可在配置更改后持久…...

【Java 学习】对象赋值的艺术:Java中clone方法的浅拷贝与深拷贝解析,教你如何在Java中实现完美复制

&#x1f4ac; 欢迎讨论&#xff1a;如对文章内容有疑问或见解&#xff0c;欢迎在评论区留言&#xff0c;我需要您的帮助&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果这篇文章对您有所帮助&#xff0c;请不吝点赞、收藏或分享&#xff0c;谢谢您的支持&#x…...

【计算机网络】课程 实验四 配置快速生成树协议(RSTP)

实验四 配置快速生成树协议&#xff08;RSTP&#xff09; 一、实验目的 1&#xff0e;理解快速生成树协议RSTP的工作原理。 2&#xff0e;掌握如何在交换机上配置快速生成树。 二、实验分析与设计 【背景描述】 某学校为了开展计算机教学和网络办公&#xff0c;建立了一个计…...

SpringBootWeb案例-1(day10)

准备工作 需求 & 环境搭建 需求说明 环境搭建 步骤&#xff1a; 准备数据库表(dept、emp)创建 springboot 工程&#xff0c;引入对应的起步依赖&#xff08;web、mybatis、mysql 驱动、lombok&#xff09;配置文件 application.properties 中引入 mybatis 的配置信息&…...

攻防世界 Web_php_wrong_nginx_config

​ 打开题目地址&#xff0c;显示为登录页面。尝试用御剑扫描一下&#xff0c;发现了admin页面&#xff0c;点进去显示如下 点开控制台&#xff0c;发现如下 isLogin参数为0。尝试抓包并该islogin参数为1&#xff0c;返回依旧不变。 再扫描&#xff0c;发现robots.txt&#xff…...

【VUE+ElementUI】通过接口下载blob流文件设置全局Loading加载进度

下载Blob流文件&#xff0c;并以服务形式显示文件下载进度 1、下载接口 增加 config参数&#xff0c;并用...config将该属性加入到请求中&#xff1b; xxapi.js文件中设置downloadFile下载接口 // 下载文件 export function downloadFile(data, config) {return request({ur…...

行为树详解(6)——黑板模式

【动作节点数据共享】 行为树中需要的参数可以来自游戏中的各个模块&#xff0c;如果仅需从多个模块获取少量参数&#xff0c;那么可以直接在代码中调用其他模块的单例继而层层调用获取数据。 如果获取的参数量很大&#xff0c;从架构上看&#xff0c;我们需要通过加一个中间…...

【prometheus】Pushgateway安装和使用

目录 一、Pushgateway概述 1.1 Pushgateway简介 1.2 Pushgateway优点 1.3 pushgateway缺点 二、测试环境 三、安装测试 3.1 pushgateway安装 3.2 prometheus添加pushgateway 3.3 推送指定的数据格式到pushgateway 1.添加单条数据 2.添加复杂数据 3.SDk-prometheus-…...

耗时一天,我用AI开发了AI小程序

小码哥从事前后端开发近十年&#xff0c;但是随着技术的更新迭代&#xff0c;有时候没有时间和精力去优化UI、实现一些前后端功能&#xff0c;以及解决一些bug。特别是我想开发小码哥AI的移动端&#xff0c;但觉得自己没有那么多时间去研究移动端了&#xff0c;准备放弃了&…...

Java 日期时间格式化标准

文章目录 Java日期时间格式化符号ISO 8601中的日期时间ISO 8601标准的定义ISO 8601日期时间格式 周数年份ISO 8601中的周数年份Java中的周数年份 Java跨年日期格式化BUG注意事项 Java日期时间格式化符号 JDK官网截图&#xff1a; 格式化符号梳理&#xff1a; 符号描述符号用…...

undolog,redolog,binlog分别是做什么的?

在数据库系统中&#xff08;尤其是 MySQL&#xff09;&#xff0c;Undo log、Redo log 和 Binlog 是用于实现数据持久性和一致性的重要日志机制。 1. Undo Log&#xff08;回滚日志&#xff09; 功能&#xff1a; 用于事务回滚&#xff1a;记录事务开始前的状态&#xff0c;以…...

NRF24L01模块STM32-接收端

前言 在调试接收端时,建议先看下下篇文章NRF24L01调试心得 环境&#xff1a; 芯片&#xff1a;STM32F103C8T6 Keil&#xff1a;V5.24.2.0 一、接收端初始化 void NRF24l01_rx_mode(void) {NRF24L01_CE(0);NRF24l01_write_buf(NRF_WRITE_REG TX_ADDR, (uint8_t *)TX_ADDRE…...

核磁机器学习 | 机器学习和深度学习算法在fMRI中的应用

摘要 功能磁共振成像(fMRI)是目前应用最广泛的脑图像动态分析技术之一&#xff0c;通常结合多种算法来分析复杂的动态数据。近年来&#xff0c;机器学习和深度学习算法在分析fMRI数据方面的应用呈指数级增长。然而&#xff0c;由于文献中存在大量算法&#xff0c;选择合适的机器…...

【数据结构-堆】力扣3296. 移山所需的最少秒数

给你一个整数 mountainHeight 表示山的高度。 同时给你一个整数数组 workerTimes&#xff0c;表示工人们的工作时间&#xff08;单位&#xff1a;秒&#xff09;。 工人们需要 同时 进行工作以 降低 山的高度。对于工人 i : 山的高度降低 x&#xff0c;需要花费 workerTimes…...

web前端-html

HTML部分 HTML&#xff1a;超文本标记语言。是万维网web编程的基础&#xff0c;web是建立在超文本基础上的。HTML 是万维网的基石 打开www.baidu.com的页面源代码可见 超文本标记超的含义 1.最重要的标签&#xff0c;超链接标签&#xff0c;可跳转页面&#xff0c;关联所有页…...

单片机-定时器中断

1、相关知识 振荡周期1/12us; //振荡周期又称 S周期或时钟周期&#xff08;晶振周期或外加振荡周期&#xff09;。 状态周期1/6us; 机器周期1us; 指令周期1~4us; ①51单片机有两组定时器/计数器&#xff0c;因为既可以定时&#xff0c;又可以计数&#xff0c;故称之为定时器…...