【保姆级教程】:docker搭建MongoDB三节点副本集

容器可以理解为一个进程,镜像是把环境,组件等都配置好,运行成容器的,容器里面运行服务,也可以说是一个进程。镜像是模板,镜像是实例。

一个镜像可以创建多个实例。也就是多个容器,容器之间相互独立。

背景

创建副本集,1主2从,主负责增删改,当然查也可以,从负责只读。

远程的linux系统,在远程的linux系统上使用docker搭建mongoDB的三节点副本集。

注意:mongoDB版本:mongo6.0之前的版本,执行的时候使用mongo这个命令启动客户端,mongo的6.0版本之后使用mongosh命令启动客户端。

1.拉取mongodb镜像,注意版本。

重要的事情说三遍!

重要的事情说三遍!

重要的事情说三遍!

注意:mongoDB版本:mongo6.0之前的版本,执行的时候使用mongo这个命令启动客户端,mongo的6.0版本之后使用mongosh命令启动客户端。

docker pull mongo:6.2

2.创建3个文件夹存储的是容器信息

mkdir -p /home/data/mastermkdir -p /home/data/slave1mkdir -p /home/data/slave2

3.关于网络

如果有特殊要求就创建一个属于自己的网络。如果没有特殊要求就用默认的。

这儿我自己创建了一个。

// 查看网络信息
docker network ls // 创建一个驱动是网桥,网络名是ste_net的网络
docker network create --driver bridge mynet

4.创建容器

下面是通过启动三个容器,三个容器通过宿主机的端口10001 10002 10003 映射27017,也就是通过这三个端口都可以访问到27017的端口。当然这三个端口都是暴露在外面的。

--itd:既交互式访问,又让服务后端执行

--restart always:假如服务断了,可以尝试启动

-v:主机路径:docker路径;挂载卷,这个可以同步数据,同步宿主机和容器的数据。持久化数据。

--name :给新容器取名

--replSet :设置副本集名称,这里的名称是rs

sudo docker run -itd --restart always --name mongodb-master
-p 10001:27017 
-v /home/master/data:/data/db 
-v /home/master/conf:/data/conf 
-v /home/master/log:/data/log  mongo:6.2 --replSet "rs"sudo docker run -itd --restart always --name mongodb-slave1
-p 10002:27017 
-v /home/slave1/data:/data/db 
-v /home/slave1/conf:/data/conf 
-v /home/slave1/log:/data/log  mongo:6.2 --replSet "rs"sudo docker run -itd --restart always --name mongodb-slave2 
-p 10003:27017 
-v /home/slave2/data:/data/db 
-v /home/slave2/conf:/data/conf 
-v /home/slave2/log:/data/log  mongo:6.2 --replSet "rs"

最后使用docker ps 查看容器是否创建成功!

5.进入容器

想把哪个容器当做主节点,就进入哪个容器。

注意:我的mongo的版本是6以上的,如果你是6以下的,请使用mongo,6以上使用Mongosh。

docker exec -it mongodb-master  mongosh

如果出现下面一堆东西,说明通过客户端创建成功了!

 6.设置主从节点

上面我们已经完成了宿主机和容器之间的映射,下面设置主从节点。

进入容器后,通过rs.initiate()命令对主从节点进行初始化。

下面是进入容器后的状态 test> 

格式:

rs.initiate(
... {
...     _id:"集群名称", // 这儿也就是创建容器的时候后面的 副本集名称
...     version:1,
...     members:[
...        {_id:0,host:"宿主机IP:10001"},
...        {_id:1,host:"宿主机IP:10002"},
...        {_id:2,host:"宿主机IP:10003"}
...     ]
... }
)

 看到"ok":1为成功,0为失败,如果你为0,看看上面有无操作出错。

下面已经变成了主节点

最后,通过rs.status()查看状态:

小结:

  1. 注意mongoDB的版本,6.0之前用mongo客户端命令,6.0之后使用mongosh客户端命令
  2. 注意第2步设置初始化的时候,是你的宿主机ip:port,port是你的宿主机暴露的端口,因为之前创建虚机的时候会有一个映射,端口映射到容器的27017,所以外部通过这个10001 10002 10003以及ip,就可以访问到容器内部。

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

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

相关文章

驱动作业10.23

现象 test.c #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include "head.h"in…

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包

一 实验二&#xff1a;TCP 第二次握手 SYN、ACK 丢包 重点&#xff1a; 通过设置 tcp_synack_retries 和 tcp_syn_retries内核参数,观察丢包的现象 ① 实验环境 iptables -t filter -I INPUT -s 172.25.2.100 -j DROPtcpdump -nni ens3 tcp and host 172.25.2.100 and por…

蛇口街道小区长者服务示范点 ——在家门口“乐享晚年”

2023年9月28日&#xff0c;深圳市南山区蛇口街道创建健康街道行动之“老年肌少症免费筛查”项目走进了海昌社区&#xff0c;为数十位长者开展了系统筛查。在家门口就能够享受到由蛇口医院康复科医生提供的专业服务&#xff0c;这对于小区的老人们来说还是第一次。自今年7月以来…

python之代理ip的配置与调试方法详解

代理IP在Python中是一种强大的工具&#xff0c;它可以用于隐藏真实IP地址、绕过访问限制、提高数据爬取和网络请求的效率等。下面将详细介绍Python中代理IP的配置与调试方法&#xff0c;帮助您更好地理解和应用代理IP。 1. 选择合适的代理IP 在使用代理IP之前&#xff0c;需要…

自然语言处理---Transformer构建语言模型

语言模型概述 以一个符合语言规律的序列为输入&#xff0c;模型将利用序列间关系等特征&#xff0c;输出一个在所有词汇上的概率分布&#xff0c;这样的模型称为语言模型。 # 语言模型的训练语料一般来自于文章&#xff0c;对应的源文本和目标文本形如: src1 "I can do&…

硬件服务器更换IPMI

重启按F2进入Biso界面 然后进入Server Management界面&#xff0c;选择BMC LAN Configuration

excel怎么固定前几行前几列不滚动?

在Excel中&#xff0c;如果你想固定前几行或前几列不滚动&#xff0c;可以通过以下几种方法来实现。详细的介绍如下&#xff1a; **固定前几行不滚动&#xff1a;** 1. 选择需要固定的行数。例如&#xff0c;如果你想要固定前3行&#xff0c;应该选中第4行的单元格。 2. 在E…

Markdown语法详解

文章目录 [toc] 一、简介二、样式1. 标题2. 字体3. 引用4. 分割线5. 图片6. 超链接7. 列表8. 表格9. 代码 一、简介 以前写学习文档常用的软件都是Word或者CSDN自带的编辑器&#xff0c;但Word用起来不太灵活&#xff0c;而CSDN自带编辑器又感觉逼格不够&#xff08;主要原因&…

c语言练习91:合并两个有序链表

合并两个有序链表 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码1&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct Li…

AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (一)

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 参考资料&#xff1a; UltraScale Architecture GTH Transceive…

驱动开发LED灯绑定设备文件

头文件 #ifndef __HEAD_H__ #define __HEAD_H__typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t;#define PHY_LED1_ADDR 0x50006000 #define PHY_LED2_ADDR 0x50007000 #defin…

【Java集合类面试六】、 HashMap有什么特点?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;HashMap有什么特点&…

ONEPIECE!程序环境和预处理——C语言最终章

时间过得飞快呀&#xff0c;从第一篇blog到现在&#xff0c;已经有三四个月的时间了&#xff0c;而我们终于也迎来了C语言的最终章——程序环境和预处理&#xff01;加油吧朋友们&#xff0c;ONEPIECE就在眼前~ 目录 一、程序的"翻译环境"和"运行环境" 二…

VUE到底有什么好处?

网上有许多前端开发框架的对比&#xff0c;相对的&#xff0c;VUE在综合评分方面还是优秀的。以下是一些State of JavaScript调查数据结果&#xff1a; 使用率&#xff1a;VUE使用者在调研开发者中占比 51%&#xff1b; 开发者满意度&#xff1a;VUE的综合开发者满意度达到64%…

springcloud笔记 (8) -网关 Gateway

网关 出国需要过海关 网关&#xff1a;网络的关卡 网关的作用 1&#xff1a;路由转发 2&#xff1a;安全控制 保护每个服务&#xff0c;不需要将每个暴露出去 3&#xff1a;负载均衡 1.没有网关&#xff1a;客户端直接访问我们的微服务&#xff0c;会需要在客户端配置很多…

ZooKeeper下载、安装、配置和使用

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

用“价值”的视角来看安全:《构建新型网络形态下的网络空间安全体系》

文章目录 写在前面安全认知的硬核概念威胁的演化路径与发展趋势构建网络空间安全体系好书推荐 写作末尾 写在前面 网络空间安全体系是建立在先进技术、严密监控和综合策略之上的综合性框架&#xff0c;旨在保护网络免受恶意攻击、数据泄露和网络犯罪的威胁&#xff0c;其核心包…

window11安装Python环境

python环境安装 访问Python官网:https://www.python.org/ 点击downloads按钮&#xff0c;在下拉框中选择系统类型(windows/Mac OS/Linux等) 选择下载最新版本的Python cmd命令如果出现版本号以及>>>则表示安装成功 如果出现命令行中输入python出现如下错误 可能…

现在大火的低代码是怎么回事?进来聊聊低代码

一、前言 开发过程中&#xff0c;只是觉得前端后端合起来&#xff0c;有很多冗余信息&#xff0c;被代码一遍遍重复表达&#xff0c;是一件很枯燥、无聊的事情。 这些枯燥的重复工作&#xff0c;完全可以由机器来做&#xff0c;以便解放出我们的时间&#xff0c;来做更有价值的…

wordpress搬家后,更改固定链接404文章无法打开,找不到网页与解决办法

出现这个问题的原因可能是服务没有设置伪静态设置&#xff0c;需要配置nginx服务器或者apach服务器 1.问题描述 WordPress中修改固定链接&#xff0c;如下。 保存后再打开网页出现类似于如下404错误。 2.解决办法 打开Nginx的配置文件(如果你没有自己写过那就是默认的nginx.…