水笔之docker 创建 mongodb最小复制集

415 阅读1分钟

docker 创建 mongodb最小复制集

  • 安装 mongodb
docker pull mongo:4
  • 创建容器间的 network
docker network create mynetwork
  • 运行 3 个 mongodb 节点
docker run --net mynetwork --name mongo1 \
-v /mymongo/data1:/data/db -p 27020:27020 \
-d mongo:4 --replSet myset --port 27020

同理第二个

docker run --net mynetwork --name mongo2 \
-v /mymongo/data2:/data/db -p 27018:27018 \
-d mongo:4 --replSet myset --port 27018

第三个

docker run --net mynetwork --name mongo3 \
-v /mymongo/data3:/data/db -p 27019:27019 \
-d mongo:4 --replSet myset --port 27019

--replSet myset 为指定复制集名字

  • 初始化 mongodb复制集节点
docker exec -it mongo1 mongo
> rs.initiate(
{
    _id: "myset",
    members: [
        { _id: 0 , host: "mongo1:27017" },
        { _id: 1 , host: "mongo2:27018" },
        { _id: 2 , host: "mongo3:27019" },
    ]
}
)