Skip to content

Instantly share code, notes, and snippets.

@clarkzjw
Created January 10, 2017 06:36
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 clarkzjw/1f916d897fd27504215abeaa93b47901 to your computer and use it in GitHub Desktop.
Save clarkzjw/1f916d897fd27504215abeaa93b47901 to your computer and use it in GitHub Desktop.
MongoDB-Sharded-Cluster-ReplicaSet
version: '2'
services:
mongo-config1:
image: mongo
container_name: mongo-config1
command: [mongod, --configsvr, --replSet, my-mongo-set, --dbpath, /data/db]
ports:
- "27019"
networks:
- mongo-net
mongo-config2:
image: mongo
container_name: mongo-config2
command: [mongod, --configsvr, --replSet, my-mongo-set, --dbpath, /data/db]
ports:
- "27019"
networks:
- mongo-net
mongo-config3:
image: mongo
container_name: mongo-config3
command: [mongod, --configsvr, --replSet, my-mongo-set, --dbpath, /data/db]
ports:
- "27019"
networks:
- mongo-net
mongo-init1:
image: mongo
container_name: init1
links:
- mongo-config1
- mongo-config2
- mongo-config3
command: [mongo, --host, mongo-config1, --port, "27019", --eval, "rs.initiate({_id: \"my-mongo-set\",configsvr: true,members: [{ _id : 0, host : \"mongo-config1:27019\" },{ _id : 1, host : \"mongo-config2:27019\" },{ _id : 2, host : \"mongo-config3:27019\" }]})"]
networks:
- mongo-net
mongo-shard1:
image: mongo
container_name: mongo-shard1
command: [mongod, --shardsvr, --replSet, my-mongo-set]
networks:
- mongo-net
mongo-shard2:
image: mongo
container_name: mongo-shard2
command: [mongod, --shardsvr, --replSet, my-mongo-set]
networks:
- mongo-net
mongo-shard3:
image: mongo
container_name: mongo-shard3
command: [mongod, --shardsvr, --replSet, my-mongo-set]
networks:
- mongo-net
mongo-init2:
image: mongo
container_name: init2
links:
- mongo-shard1
- mongo-shard2
- mongo-shard3
command: [mongo, --host, "mongo-shard1", --port, "27018", --eval, "rs.initiate({_id : \"my-mongo-set\",members: [{ _id : 0, host : \"mongo-shard1:27018\" },{ _id : 1, host : \"mongo-shard2:27018\" },{ _id : 2, host : \"mongo-shard3:27018\" }]})" ]
networks:
- mongo-net
mongo-query:
image: mongo
restart: always
links:
- mongo-init1
- mongo-init2
ports:
- "27017"
container_name: mongo-query
command: [mongos, --configdb, "my-mongo-set/mongo-config1:27019,mongo-config2:27019,mongo-config3:27019"]
networks:
- mongo-net
mongo-init3:
image: mongo
restart: unless-stopped
container_name: init3
links:
- mongo-query
command: [mongo, --host, "mongo-query", --port, "27017", --eval, "sh.addShard(\"my-mongo-set/mongo-shard1:27018,mongo-shard2:27018,mongo-shard3:27018\"); sh.enableSharding(\"test\")"]
networks:
- mongo-net
networks:
mongo-net:
driver: bridge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment