利用Docker搭建MongoDB副本集群

步骤如下(1master,2slave为例):

  1. 先拉取mongod镜像

  2. 启动三个mongo容器:
    sudo docker run –name mongo_server1 -p 21117:27017 -d 127.0.0.1:5000/mongod:latest –smallfiles –replSet rs1
    sudo docker run –name mongo_server2 -p 22117:27017 -d 127.0.0.1:5000/mongod:latest –smallfiles –replSet rs1
    sudo docker run –name mongo_server3 -p 23117:27017 -d 127.0.0.1:5000/mongod:latest –smallfiles –replSet rs1

  3. 查看各个IP:
    依次执行:sudo docker exec mongo_server1 ifconfig

  4. 配置成员信息:

    成员1:
    I. sudo docker exec -it mongo_server1 /bin/bash
    II. myconf = {“_id”:”rs1”,”members”:[
    {“_id”:0,”host”:”172.17.0.2:27017”},
    {“_id”:1,”host”:”172.17.0.3:27017”},
    {“_id”:2,”host”:”172.17.0.5:27017”}
    ]}
    III. rs.initiate(myconf)
    IV. rs.isMaster()
    然后查看配置:rs.conf()

    成员2、3:
    I. rs.slaveOk()
    II. use admin
    III. db.getMongo().setSlaveOk()
    IV. db.setSlaveOk()

  5. 配置用户名和密码:
    I. docker exec -it mongo_server1 /bin/bash
    II. mongo
    III. use 数据库
    IV. db.createUser(
    {
    user: “用户名”,
    pwd: “密码”,
    roles:[{role:’userAdmin’,db:’数据库’}]
    }
    );

你可能感兴趣的:(MongoDB)