docker-compose 搭建 mongo 4.4.2 集群
mkdir -p /data/docker-compose/mongodb/conf && cd /data/docker-compose/mongodb/ # 生成 auth.key, 用于多节点之间的认证 openssl rand -base64 756 > ./conf/auth.key chmod 600 ./conf/auth.key chown -R 999.999 conf
docker-compose.yml
version: '3.4' services: mongo1: image: mongo:4.4.2 network_mode: "host" volumes: - ./mongo1_data:/data/db - ./conf:/conf - /etc/localtime:/etc/localtime container_name: mongodb1 command: mongod --port 27017 --replSet rs --wiredTigerCacheSizeGB 1 --keyFile /conf/auth.key restart: always environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=root mongo2: image: mongo:4.4.2 network_mode: "host" volumes: - ./mongo2_data:/data/db - ./conf:/conf - /etc/localtime:/etc/localtime container_name: mongodb2 command: mongod --port 37017 --replSet rs --wiredTigerCacheSizeGB 1 --keyFile /conf/auth.key restart: always mongo3: image: mongo:4.4.2 network_mode: "host" volumes: - ./mongo3_data:/data/db - ./conf:/conf - /etc/localtime:/etc/localtime container_name: mongodb3 command: mongod --port 47017 --replSet rs --wiredTigerCacheSizeGB 1 --keyFile /conf/auth.key restart: always
启动和设置集群
docker-compose up -d # 进入容器 docker exec -it mongodb1 /bin/bash # 连接mongo, 进行认证 mongo use admin db.auth("root","root") # 设置集群,ip 根据自身情况设置 var config={ _id:"rs", members:[ {_id:0,host:"172.16.16.109:27017"}, {_id:1,host:"172.16.16.109:37017"}, {_id:2,host:"172.16.16.109:47017"} ]}; # 启动副本集 rs.initiate(config) # 显示副本集配置对象 rs.conf() # 查看副本集的当前状态 rs.status() # 设置用户密码 use admin db.createUser({ user: "admin", pwd: "admin", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) db.createUser({user: "root",pwd: "root", roles: [ { role: "root", db: "admin" } ]}) show users
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-11-30 Qt状态栏添加临时消息和永久消息
2021-11-30 qt设计师中怎么添加ButtonGRoup
2021-11-30 Qt应用程序开发四:给软件添加状态栏图标和软件版本信息
2021-11-30 让QToolBar工具栏的按钮既显示图标又显示文字
2021-11-30 数据库 事务隔离级别和传播行为以及@Transactional使用规范
2021-11-30 使用java8的stream对数组进行求和
2021-11-30 java基础:简单实现线程池