docker拉取mongo

docker pull mongo

安装mongo单机版

docker run -itd  --name mongo -p 27017:27017 mongo --authdocker exec -it mongo mongo admindb.createUser({ user:'admin',pwd:'Wy!@#456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});db.auth('admin','Wy!@#456')use ylgroupdb.createUser({user:'root',pwd:'Wy!@#456',roles:[{role:'userAdmin',db:'ylgroup'}]});db.grantRolesToUser("root",[{role:"readWrite",db:"ylgroup"}]);

安装mongo副本集

配置及端口号配置信息,启动三个以上mongo服务,节点指向一个"rs"

docker run -itd --name mongo1 -p 27001:27017 --restart=always -v /root/docker/mongo/mongo1/db:/data/db -v /root/docker/mongo/mongo1/conf:/data/conf -v /root/docker/mongo/mongo1/log:/data/log mongo --replSet "rs"docker run -itd --name mongo2 -p 27002:27017 --restart=always -v /root/docker/mongo/mongo2/db:/data/db -v /root/docker/mongo/mongo2/conf:/data/conf -v /root/docker/mongo/mongo2/log:/data/log mongo --replSet "rs"docker run -itd --name mongo3 -p 27003:27017 --restart=always -v /root/docker/mongo/mongo3/db:/data/db -v /root/docker/mongo/mongo3/conf:/data/conf -v /root/docker/mongo/mongo3/log:/data/log mongo --replSet "rs"

启动成功后可以通过docker ps查看容器id

docker ps

可以通过俩种方式进入容器中的mongo内部。

进入容器方式一

docker exec -it  容器ID  /bin/bash mongo

进入容器方式二

docker exec -it mongo1 mongo admin

如上图则进入容器内部。

注意我这里选了m0作为我的主数据库,其余m1,m2为从数据库。

对主从节点进行配置

var config={_id:"rs",members:[{_id:0,host:"你服务器ip:27001"},{_id:1,host:"你服务器ip:27002"},{_id:2,host:"你服务器ip:27003"}
]};

如果你是本地安装,这里建议不安装副本集,一旦IP发送变化,副本集数据库就不好使了。不能使用公网ip,否则会报错!

执行配置

rs.initiate(config)

执行成功之后,可以通过

rs.conf()  查看是否配置成功和信息,

rs.status() 查看各节点状态。

创建数据库并设置访问数据库用户权限

创建数据库

use ylgroup

添加数据

db.ylgroup.insert({"name":"张三"})

配置数据库用户访问权限

db.createUser({user:'root',pwd:'admin',roles:[{role:'userAdmin',db:'ylgroup'}]});

附:MongoDB基本的角色

1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root

客户端连接

Docker部署MongoDB副本集相关推荐

  1. 小丸子学MongoDB系列之——部署MongoDB副本集

    1.以副本集的方式启动mongodb实例 1.1 创建副本集目录 [mgousr01@vm1 ~]$ mkdir -p mongorep/{mg17/{bin,conf,data,logs,pid}, ...

  2. Linux 部署 MongoDB 副本集

    其实贼简单别搞复杂了. 1.把安装包下载下来 https://www.mongodb.org/dl/linux/x86_64 这个地址有所有的mongoDB版本,找到你想要的版本,F12看到下载地址, ...

  3. DockerCompose MongoDB 副本集(集群) (客户端验证密码 - 集群内部使用mongodbKeyfile验证 ) 部署

    本部署MongoDB副本集是没有用其他的配置什么的(例如: mongodb-compass).是最简单的一个 我是为了mongodb的事务才配置的这个副本集,要使用mongodb的事务必须要副本集. ...

  4. MongoDB副本集部署

    实验环境:准备三台服务器部署MongoDB副本集 1.MongoDB下载安装(三台服务器操作相同) cd /data/mongodbwget https://fastdl.mongodb.org/li ...

  5. Docker下,实战mongodb副本集(Replication)

    在<Docker下,极速体验mongodb>一文中我们体验了单机版的mongodb,实际生产环境中,一般都会通过集群的方式来避免单点故障,今天我们就在Docker下实战mongodb副本集 ...

  6. mongodb副本集+分片集群部署 step by step

    mongodb副本集+分片集群部署step by step 本文只讲述mongodb副本集+分片集群的部署,关于mongdb shading & replica set原理优点等不在本文讨论范 ...

  7. MongoDB副本集的部署与操作

    一.实验综述 1.实验目的及要求 (1)了解MongoDB副本集 (2)熟悉MongoDB副本集成员 (3)掌握MongoDB副本集部署 (4)掌握MongoDB副本集操作 (5)理解副本集机制 实验 ...

  8. (2)MongoDB副本集自动故障转移原理(含客户端)

    前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的副本集均在主节点读写,辅助节点冗余部署,形成高可用和备份,具备自动故障转移能力. 集群心跳保活 ...

  9. MongoDB副本集(Replica Sets)搭建教程

    MongoDB副本集(Replica Sets)搭建教程 最近在生产环境下部署公司项目.由于项目中有使用到MongoDB,所以参考网上的博客,在服务器上进行搭建MongoDB副本集.今天打算将其记录成 ...

最新文章

  1. DataGridView控件60招(一)
  2. QT5运行错误:ImportError: cannot import name QAxContainer from PyQt5 解决
  3. leetcode_add_two_numbers
  4. mendeley引用参考文献不显示_免费文献管理器Mendeley
  5. 如何使用Webpack在HTML,CSS和JavaScript之间共享变量
  6. java 线程 free_Java进阶05 多线程
  7. 对VSCode在安装了Dev-cpp的电脑上的配置
  8. 比较三个数大小PHP代码,php 写程序求三个数的最大值
  9. 如何修改PDF文档,怎么编辑PDF背景
  10. FaceBoundingBoxInInfraredSpace 得到的深度空间的数值为空
  11. java数组排序方法
  12. ngod规范_[转载]NGOD一些感悟
  13. 实战项目之后台管理系统
  14. 微信公众号cookie+token获取
  15. 前端单位的解读和换算px/%/em/rem/vh/vm/vim/vmax
  16. 皮尔森相关系数和样本方差
  17. JS中的debugger调试(谷歌浏览器)
  18. iPhone备忘录删了怎么恢复?恢复备忘录的两大方法!
  19. 微信打开页面,下载东西时调用其他浏览器下载
  20. c 语言 批量更改文件名,rename 批量修改文件名

热门文章

  1. 笔记:threejs 版本不同用法
  2. 切换双系统ubuntu使用的显卡
  3. suse9安装oracle,SUSE 9 ENTERPRISE 安装ORACLE 9I 成功文档
  4. C++动态创建多维数组
  5. python文件的写入
  6. 疫情下的远程办公与桌面分享
  7. hdu - 4664 - Triangulation(博弈SG)
  8. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connec
  9. CVE-2019-0708 PoC with EXP ( Proof of Concept with Exploits )
  10. 计蒜课/百度的年会游戏(枚举)