zoukankan      html  css  js  c++  java
  • docker-compose mongodb 副本

    生成keyfile

    //生成keyfile
    openssl rand -base64 756 > mongo-keyfile.jks
    chmod 600 keyfile/keyfile.jks
    
    //如果报error opening file: keyfile/keyfile.jks: bad file
    chown 999 keyfile/keyfile.jks
    

    启动docker

    docker-compose up -d

    version: "3.7"
    services:
      mgomaster:
        image: mongo:4.4.9
        container_name: mgomaster
        restart: always
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: xxxx
        command: mongod --auth --keyFile /keyfile/keyfile.jks --bind_ip_all --replSet rs0
        volumes:
          - ./master:/data/db
          - ./keyfile:/keyfile
        ports:
          - "27017:27017"
        networks:
          - default
    
      mgoslaver:
        image: mongo:4.4.9
        container_name: mgoslaver
        restart: always
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: xxxx
        command: mongod --auth --keyFile /keyfile/keyfile.jks --bind_ip_all --replSet rs0
        volumes:
          - ./slaver:/data/db
          - ./keyfile:/keyfile
        ports:
          - "27018:27017"
        networks:
          - default
    
    networks:
      default:
        external:
          name: xxx
    

    初始化副本

    docker exec -it mgomaster /bin/bash
    进入 docker 以后, mongo -u <用户名> -p <密码>
    rs 初始化

    rs.initiate(
      {
        _id : 'rs0',
        members: [
          { _id : 0, host : "mgomaster:27017" },
          { _id : 1, host : "mgoslaver:27017" },
        ]
      }
    )
    

    验证状态

    通过 rs.status() 查看状态即可。

  • 相关阅读:
    分小组
    抽签
    快速排序
    Zookeeper一致性协议原理Zab
    Zookeeper架构、ZAB协议、选举
    spring AOP
    spring bean生命周期
    [LeetCode] 35. Search Insert Position ☆(丢失的数字)
    [LeetCode] 29. Divide Two Integers(不使用乘除取模,求两数相除) ☆☆☆
    代理模式和装饰器模式的区别
  • 原文地址:https://www.cnblogs.com/werben/p/15399117.html
Copyright © 2011-2022 走看看