Skip to content

Instantly share code, notes, and snippets.

@par4dise
Created January 7, 2020 15:38
Show Gist options
  • Save par4dise/dd5b7bec788317eab692ee31c743c300 to your computer and use it in GitHub Desktop.
Save par4dise/dd5b7bec788317eab692ee31c743c300 to your computer and use it in GitHub Desktop.
Mongo replica sets on Windows
@echo OFF
docker network create mongo-cluster
REM create mongos
echo Start MongoDB servers
docker run --rm -h mongo1 -d --net mongo-cluster -p 27017:27017 --name mongo1 mongo mongod --replSet mongo-replicaset --port 27017
docker run --rm -h mongo2 -d --net mongo-cluster -p 27018:27018 --name mongo2 mongo mongod --replSet mongo-replicaset --port 27018
docker run --rm -h mongo3 -d --net mongo-cluster -p 27019:27019 --name mongo3 mongo mongod --replSet mongo-replicaset --port 27019
echo Waiting for servers started
timeout /t 5 /nobreak >nul
REM Add hosts in W10 : file C:\Windows\System32\drivers\etc\hosts
REM 127.0.0.1 mongo1 mongo2 mongo3
REM setup replica set
echo Define the replica set
docker exec mongo1 mongo --eval "rs.initiate({'_id':'mongo-replicaset','members':[{'_id':0,'host':'mongo1:27017'},{'_id':1,'host':'mongo2:27018'},{'_id':2,'host':'mongo3:27019'}]})"
ECHO Connection string:
ECHO mongodb://localhost:27017,localhost:27018,localhost:27019/?replicaSet=mongo-replicaset
PAUSE
ECHO Removing servers
docker stop mongo1
docker stop mongo2
docker stop mongo3
ECHO Removing the network
docker network rm mongo-cluster
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment