1. 程式人生 > >MongoDB副本集-Docker版

MongoDB副本集-Docker版

docker

1. 主機及容器規劃
Docker主機 容器名 端口 副本集
192.168.0.40 m40 27017 rs0
192.168.0.41 m41 27017 rs0
192.168.0.42 m42 27017 rs0

2. 創建容器

2.1 在主機40上創建容器m40

docker run 
    --name m40                                 -d                                         -p 27017:27017                             -v /etc/localtime:/etc/localtime:ro        -v /data/db:/data/db                       -v /data/configdb:/data/configdb           reg.citms.cn/public/mongo:3.2.19           mongod --replSet rs0

2.2. 在主機41上創建容器m41

docker run 
    --name m41                                -d                                        -p 27017:27017                            -v /etc/localtime:/etc/localtime:ro       -v /data/db:/data/db                      -v /data/configdb:/data/configdb          reg.citms.cn/public/mongo:3.2.19          mongod --replSet rs0

2.3. 在主機42上創建容器m42

docker run 
    --name m42                                -d                                        -p 27017:27017                            -v /etc/localtime:/etc/localtime:ro       -v /data/db:/data/db                      -v /data/configdb:/data/configdb          reg.citms.cn/public/mongo:3.2.19          mongod --replSet rs0

3. 搭建副本集

###3.1. 連接上其中一個容器並運行mongo shell

docker exec -it m40 mongo

###3.2. 初始化 replica set

rs.initiate( {
   _id : "rs0",
   members: [
      { _id: 0, host: "192.168.0.40:27017" },
      { _id: 1, host: "192.168.0.41:27017" },
      { _id: 2, host: "192.168.0.42:27017" }
   ]
})

###3.3. 查看replica set配置,輸出略

rs.conf()

###3.5. 識別副本集的主節點,輸出略

rs.status()

MongoDB副本集-Docker版