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" },
]
}
)