標籤: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版