MongoDB副本集-Docker版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB副本集-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版的主要内容,如果未能解决你的问题,请参考以下文章

docker——mongodb副本集

Docker搭建MongoDB 4.0副本集

在 docker swarm 中启动 MongoDB 副本集

docker-compose 配置 mongodb 副本集/复制集

Docker部署MongoDB副本集

docker中部署mongodb副本集