Skip to content

Instantly share code, notes, and snippets.

@simonkuang
Created July 27, 2021 08:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simonkuang/f2e1000b05d7dcc0e80a414db110c3e5 to your computer and use it in GitHub Desktop.
Save simonkuang/f2e1000b05d7dcc0e80a414db110c3e5 to your computer and use it in GitHub Desktop.
quickly deploy a mongo cluster with replicaset
version: '2'
services:
## Router
router01:
image: mongo:4.2
container_name: rydell-router-01
command: mongos --port 27017 --configdb rs-config-server/configsvr01:27017,configsvr02:27017,configsvr03:27017 --bind_ip_all
ports:
- 27117:27017
volumes:
- ./scripts:/scripts
router02:
image: mongo:4.2
container_name: rydell-router-02
command: mongos --port 27017 --configdb rs-config-server/configsvr01:27017,configsvr02:27017,configsvr03:27017 --bind_ip_all
volumes:
- ./scripts:/scripts
ports:
- 27118:27017
links:
- router01
## Config Servers
configsvr01:
image: mongo:4.2
container_name: rydell-mongo-config-01
command: mongod --port 27017 --configsvr --replSet rs-config-server
volumes:
- ./scripts:/scripts
ports:
- 27119:27017
links:
- shard01-a
- shard02-a
- shard03-a
configsvr02:
image: mongo:4.2
container_name: rydell-mongo-config-02
command: mongod --port 27017 --configsvr --replSet rs-config-server
volumes:
- ./scripts:/scripts
ports:
- 27120:27017
links:
- configsvr01
configsvr03:
image: mongo:4.2
container_name: rydell-mongo-config-03
command: mongod --port 27017 --configsvr --replSet rs-config-server
volumes:
- ./scripts:/scripts
ports:
- 27121:27017
links:
- configsvr02
## Shards
## Shards 01
shard01-a:
image: mongo:4.2
container_name: rydell-shard-01-node-a
command: mongod --port 27017 --shardsvr --replSet rs-shard-01
volumes:
- ./scripts:/scripts
ports:
- 27122:27017
links:
- shard01-b
- shard01-c
shard01-b:
image: mongo:4.2
container_name: rydell-shard-01-node-b
command: mongod --port 27017 --shardsvr --replSet rs-shard-01
volumes:
- ./scripts:/scripts
ports:
- 27123:27017
shard01-c:
image: mongo:4.2
container_name: rydell-shard-01-node-c
command: mongod --port 27017 --shardsvr --replSet rs-shard-01
volumes:
- ./scripts:/scripts
ports:
- 27124:27017
## Shards 02
shard02-a:
image: mongo:4.2
container_name: rydell-shard-02-node-a
command: mongod --port 27017 --shardsvr --replSet rs-shard-02
volumes:
- ./scripts:/scripts
ports:
- 27125:27017
links:
- shard02-b
- shard02-c
shard02-b:
image: mongo:4.2
container_name: rydell-shard-02-node-b
command: mongod --port 27017 --shardsvr --replSet rs-shard-02
volumes:
- ./scripts:/scripts
ports:
- 27126:27017
shard02-c:
image: mongo:4.2
container_name: rydell-shard-02-node-c
command: mongod --port 27017 --shardsvr --replSet rs-shard-02
volumes:
- ./scripts:/scripts
ports:
- 27127:27017
## Shards 03
shard03-a:
image: mongo:4.2
container_name: rydell-shard-03-node-a
command: mongod --port 27017 --shardsvr --replSet rs-shard-03
volumes:
- ./scripts:/scripts
ports:
- 27128:27017
links:
- shard03-b
- shard03-c
shard03-b:
image: mongo:4.2
container_name: rydell-shard-03-node-b
command: mongod --port 27017 --shardsvr --replSet rs-shard-03
volumes:
- ./scripts:/scripts
ports:
- 27129:27017
shard03-c:
image: mongo:4.2
container_name: rydell-shard-03-node-c
command: mongod --port 27017 --shardsvr --replSet rs-shard-03
volumes:
- ./scripts:/scripts
ports:
- 27130:27017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment