From aab4309db93e73b6feadd676ff16c4ffeaa916d4 Mon Sep 17 00:00:00 2001 From: Gauravpadam <1032201077@tcetmumbai.in> Date: Sat, 4 Nov 2023 23:49:15 +0530 Subject: [PATCH 1/2] Docker compose refining --- docker-compose.yaml | 66 +++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index df2f874..054ee1b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,34 +1,48 @@ version: '3' services: - primary: - image: mongo - container_name: mongodb-primary + mongo1: + image: mongo:5 + command: ["mongod", "--replSet", "myReplicaSet", "--bind_ip", "localhost,mongo1"] ports: - - "27017:27017" - environment: - MONGO_INITDB_REPLICA_SET: ReplicaSet + - 27017:27017 + networks: + - mongoCluster - secondary1: - image: mongo - container_name: mongodb-secondary1 + mongo2: + image: mongo:5 + command: ["mongod", "--replSet", "myReplicaSet", "--bind_ip", "localhost,mongo2"] ports: - - "27018:27017" - environment: - MONGO_INITDB_REPLICA_SET: ReplicaSet + - 27018:27017 + networks: + - mongoCluster - secondary2: - image: mongo - container_name: mongodb-secondary2 + mongo3: + image: mongo:5 + command: ["mongod", "--replSet", "myReplicaSet", "--bind_ip", "localhost,mongo3"] ports: - - "27019:27017" - environment: - MONGO_INITDB_REPLICA_SET: ReplicaSet + - 27019:27017 + networks: + - mongoCluster - arbiter: - image: mongo - container_name: mongodb-arbiter - ports: - - "27020:27017" - environment: - MONGO_INITDB_REPLICA_SET: ReplicaSet - MONGO_INITDB_ARBITER: "yes" + init-replica: + image: mongo:5 + depends_on: + - mongo1 + - mongo2 + - mongo3 + command: + - mongosh + - --eval + - > + rs.initiate({ + _id: 'myReplicaSet', + members: [ + {_id: 0, host: 'mongo1'}, + {_id: 1, host: 'mongo2'}, + {_id: 2, host: 'mongo3'} + ] + }) + +networks: + mongoCluster: + driver: bridge From 2461a04b9da662c09b6e26f5f6c3ebb55523c4df Mon Sep 17 00:00:00 2001 From: Tejas Nair <85873779+TejasNair9977@users.noreply.github.com> Date: Sun, 5 Nov 2023 10:32:33 +0530 Subject: [PATCH 2/2] fixed replica sets on docker-compose Co-authored-by: Gaurav Padam <1032201077@tcetmumbai.in> --- .gitignore | 5 +++- docker-compose.yaml | 57 +++++++++++++++++---------------------------- 2 files changed, 25 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 47657fa..4162f7b 100644 --- a/.gitignore +++ b/.gitignore @@ -130,4 +130,7 @@ dist .pnp.* # ingore genrated APIdocs -apidoc \ No newline at end of file +apidoc + +# data generated by mongo replicas +data/ \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 054ee1b..74da3c1 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,48 +1,33 @@ -version: '3' +version: "3.8" + services: mongo1: image: mongo:5 - command: ["mongod", "--replSet", "myReplicaSet", "--bind_ip", "localhost,mongo1"] + container_name: mongo1 + command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30001"] + volumes: + - ./data/mongo-1:/data/db ports: - - 27017:27017 - networks: - - mongoCluster + - 30001:30001 + healthcheck: + test: test $$(echo "rs.initiate({_id:'my-replica-set',members:[{_id:0,host:\"mongo1:30001\"},{_id:1,host:\"mongo2:30002\"},{_id:2,host:\"mongo3:30003\"}]}).ok || rs.status().ok" | mongo --port 30001 --quiet) -eq 1 + interval: 10s + start_period: 30s mongo2: image: mongo:5 - command: ["mongod", "--replSet", "myReplicaSet", "--bind_ip", "localhost,mongo2"] + container_name: mongo2 + command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30002"] + volumes: + - ./data/mongo-2:/data/db ports: - - 27018:27017 - networks: - - mongoCluster + - 30002:30002 mongo3: image: mongo:5 - command: ["mongod", "--replSet", "myReplicaSet", "--bind_ip", "localhost,mongo3"] + container_name: mongo3 + command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30003"] + volumes: + - ./data/mongo-3:/data/db ports: - - 27019:27017 - networks: - - mongoCluster - - init-replica: - image: mongo:5 - depends_on: - - mongo1 - - mongo2 - - mongo3 - command: - - mongosh - - --eval - - > - rs.initiate({ - _id: 'myReplicaSet', - members: [ - {_id: 0, host: 'mongo1'}, - {_id: 1, host: 'mongo2'}, - {_id: 2, host: 'mongo3'} - ] - }) - -networks: - mongoCluster: - driver: bridge + - 30003:30003