Skip to content

Instantly share code, notes, and snippets.

@p1nox
Created February 14, 2017 13:45
Show Gist options
  • Save p1nox/c8397935180704e53d19800eb88dc84c to your computer and use it in GitHub Desktop.
Save p1nox/c8397935180704e53d19800eb88dc84c to your computer and use it in GitHub Desktop.
ToroDB Stampede in local using docker

create postgres container

docker run --name postgres-replica -e POSTGRES_PASSWORD=000000 -p 5432:5432 -d postgres:9.5

create network between mongo replica sets

docker network create my-mongo-cluster

create mongo replica servers

docker run -d \
-p 27017:27017 \
--name mongo1 \
--net my-mongo-cluster \
mongo:3.2 mongod --replSet rs1

docker run -d \
-p 27018:27017 \
--name mongo2 \
--net my-mongo-cluster \
mongo:3.2 mongod --replSet rs1

docker exec -it mongo1 mongo

config = {
	"_id" : "rs1",
	"members" : [
		{
			"_id" : 0,
			"host" : "mongo1:27017"
		},
		{
			"_id" : 1,
			"host" : "mongo2:27017"
		}
	]
}

rs.initiate(config)

db2 = (new Mongo('mongo2:27017')).getDB('test')
db2.setSlaveOk()

restore mongo database using dump

# by file
mongorestore --host localhost:27017 --archive=dump.zip --db my_database_name

# by folder
mongorestore --host localhost:27017 --db meteor my_database_name

init stampede

docker run -ti -v /path/to/.toropass:/root/.toropass --net my-mongo-cluster torodb/stampede

Sources

https://www.torodb.com/stampede

https://www.torodb.com/stampede/docs/quickstart/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment