{"id":25182149,"url":"https://github.com/ductnn/mongodb-cluster-docker","last_synced_at":"2025-05-07T08:45:27.985Z","repository":{"id":107747643,"uuid":"425298443","full_name":"ductnn/mongodb-cluster-docker","owner":"ductnn","description":"MongoDB Cluster on Docker","archived":false,"fork":false,"pushed_at":"2021-11-08T02:29:09.000Z","size":23,"stargazers_count":10,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T08:21:23.543Z","etag":null,"topics":["docker","mongodb","mongodb-cluster"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ductnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-06T16:55:04.000Z","updated_at":"2025-01-25T21:02:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"b6ffe355-8190-4917-b231-fff02c8821f9","html_url":"https://github.com/ductnn/mongodb-cluster-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ductnn%2Fmongodb-cluster-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ductnn%2Fmongodb-cluster-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ductnn%2Fmongodb-cluster-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ductnn%2Fmongodb-cluster-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ductnn","download_url":"https://codeload.github.com/ductnn/mongodb-cluster-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252846430,"owners_count":21813425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","mongodb","mongodb-cluster"],"created_at":"2025-02-09T17:29:55.502Z","updated_at":"2025-05-07T08:45:27.978Z","avatar_url":"https://github.com/ductnn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" # MongoDB Cluster on Docker\n\n![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/ductnn/mongodb-cluster-docker/pulls)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\nA simple implement MongoDB Cluster on Docker with **PSS Style** (Primary -\nSecondary - Secondary). Inspired by this [article](https://viblo.asia/p/cai-dat-mongo-cluster-voi-docker-m68Z0NN25kG)\n\n## Components\n- **2 Mongos** (router): The mongos acts as query routers, providing an interface\nbetween client applications and the sharded cluster.\n  - `router01`\n  - `router02`\n- **3 Config Servers**: Store metadata and configuration settings for the cluster\n  - `configsvr01`\n  - `configsvr02`\n  - `configsvr03`\n- **3 Shards** (each a 3 member replica set): Each shard contains a subset of\nthe sharded data. Each shard can be deployed as a replica set.\n  - `shard01-a`, `shard01-b`, `shard01-c`\n  - `shard02-a`, `shard02-b`, `shard02-c`\n  - `shard03-a`, `shard03-b`, `shard03-c`\n\n## Installation\n\nClone this repo:\n\n```bash\ngit clone https://github.com/ductnn/mongodb-cluster-docker.git\ncd mongodb-cluster-docker\n```\n\nAnd run `docker-compose.yaml`:\n\n```bash\n➜  mongodb-cluster-docker git:(master) ✗ docker-compose up -d\nCreating network \"mongodb-cluster-docker_default\" with the default driver\nPulling router01 (mongo:5.0.3)...\n5.0.3: Pulling from library/mongo\n7b1a6ab2e44d: Already exists\n90eb44ebc60b: Already exists\n5085b59f2efb: Already exists\nc7499923d022: Already exists\n019496b6c44a: Already exists\nc0df4f407f69: Already exists\n351daa315b6c: Already exists\n557b07ecd9d7: Already exists\na2dff157a5e3: Already exists\n07d83e88231b: Already exists\nDigest: sha256:07212fb304ea36b8c5a9e5694527f16deeb0b99f87fc60162dc15ab260bf8a2a\nStatus: Downloaded newer image for mongo:5.0.3\nCreating shard-02-node-b ... done\nCreating shard-03-node-b ... done\nCreating shard-03-node-c ... done\nCreating shard-02-node-c ... done\nCreating router-01       ... done\nCreating shard-01-node-b ... done\nCreating shard-01-node-c ... done\nCreating shard-03-node-a ... done\nCreating shard-01-node-a ... done\nCreating shard-02-node-a ... done\nCreating router-02       ... done\nCreating mongo-config-01 ... done\nCreating mongo-config-02 ... done\nCreating mongo-config-03 ... done\n```\n\n**Result**:\n\n```bash\n➜  mongodb-cluster-docker git:(master) ✗ docker ps\nCONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS                                           NAMES\n302243ef45a3   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 15 minutes   0.0.0.0:27121-\u003e27017/tcp, :::27121-\u003e27017/tcp   mongo-config-03\n4599103daf74   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27120-\u003e27017/tcp, :::27120-\u003e27017/tcp   mongo-config-02\n5be686736dd8   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27119-\u003e27017/tcp, :::27119-\u003e27017/tcp   mongo-config-01\n4eff0c607d3c   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27118-\u003e27017/tcp, :::27118-\u003e27017/tcp   router-02\nb28d39a0a262   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27125-\u003e27017/tcp, :::27125-\u003e27017/tcp   shard-02-node-a\nad9c4985f630   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27122-\u003e27017/tcp, :::27122-\u003e27017/tcp   shard-01-node-a\n5a43e22ff9ae   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27128-\u003e27017/tcp, :::27128-\u003e27017/tcp   shard-03-node-a\n52520b1b29a9   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27124-\u003e27017/tcp, :::27124-\u003e27017/tcp   shard-01-node-c\n9591f85f2dc0   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27130-\u003e27017/tcp, :::27130-\u003e27017/tcp   shard-03-node-c\n1b745802b88a   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27126-\u003e27017/tcp, :::27126-\u003e27017/tcp   shard-02-node-b\n161baac14972   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27117-\u003e27017/tcp, :::27117-\u003e27017/tcp   router-01\n4468e7f23da1   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27123-\u003e27017/tcp, :::27123-\u003e27017/tcp   shard-01-node-b\n1b99d3d5ea54   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27129-\u003e27017/tcp, :::27129-\u003e27017/tcp   shard-03-node-b\n0480f8b2247d   mongo:5.0.3   \"docker-entrypoint.s…\"   16 minutes ago   Up 16 minutes   0.0.0.0:27127-\u003e27017/tcp, :::27127-\u003e27017/tcp   shard-02-node-c\n```\n\nThen, we need to init `config-servers`, `shards` and `router`:\n\n### Config servers\n\n```bash\n# Initilizing the config server\n➜  mongodb-cluster-docker git:(master) ✗ bash bash/init-configserver.sh \nMongoDB shell version v5.0.3\nconnecting to: mongodb://127.0.0.1:27017/?compressors=disabled\u0026gssapiServiceName=mongodb\nImplicit session: session { \"id\" : UUID(\"555e23b7-f1bd-4232-9947-8f5dd0db6c3b\") }\nMongoDB server version: 5.0.3\n================\nWarning: the \"mongo\" shell has been superseded by \"mongosh\",\nwhich delivers improved usability and compatibility.The \"mongo\" shell has been deprecated and will be removed in\nan upcoming release.\nWe recommend you begin using \"mongosh\".\nFor installation instructions, see\nhttps://docs.mongodb.com/mongodb-shell/install/\n================\n{\n        \"ok\" : 1,\n        \"$gleStats\" : {\n                \"lastOpTime\" : Timestamp(1636305337, 1),\n                \"electionId\" : ObjectId(\"000000000000000000000000\")\n        },\n        \"lastCommittedOpTime\" : Timestamp(0, 0)\n}\nbye\n```\n\n### Shards\n\n```bash\n# Initilzing the shards\n➜  mongodb-cluster-docker git:(master) ✗ bash bash/init-replicaset.sh \nMongoDB shell version v5.0.3\nconnecting to: mongodb://127.0.0.1:27017/?compressors=disabled\u0026gssapiServiceName=mongodb\nImplicit session: session { \"id\" : UUID(\"815f9a5c-997b-48a6-bba0-8847b0890521\") }\nMongoDB server version: 5.0.3\n================\nWarning: the \"mongo\" shell has been superseded by \"mongosh\",\nwhich delivers improved usability and compatibility.The \"mongo\" shell has been deprecated and will be removed in\nan upcoming release.\nWe recommend you begin using \"mongosh\".\nFor installation instructions, see\nhttps://docs.mongodb.com/mongodb-shell/install/\n================\n{\n        \"ok\" : 1,\n        \"$clusterTime\" : {\n                \"clusterTime\" : Timestamp(1636305394, 1),\n                \"signature\" : {\n                        \"hash\" : BinData(0,\"AAAAAAAAAAAAAAAAAAAAAAAAAAA=\"),\n                        \"keyId\" : NumberLong(0)\n                }\n        },\n        \"operationTime\" : Timestamp(1636305394, 1)\n}\nbye\nMongoDB shell version v5.0.3\nconnecting to: mongodb://127.0.0.1:27017/?compressors=disabled\u0026gssapiServiceName=mongodb\nImplicit session: session { \"id\" : UUID(\"16424801-e037-450b-b4db-4d9dfe19752b\") }\nMongoDB server version: 5.0.3\n================\nWarning: the \"mongo\" shell has been superseded by \"mongosh\",\nwhich delivers improved usability and compatibility.The \"mongo\" shell has been deprecated and will be removed in\nan upcoming release.\nWe recommend you begin using \"mongosh\".\nFor installation instructions, see\nhttps://docs.mongodb.com/mongodb-shell/install/\n================\n{ \"ok\" : 1 }\nbye\nMongoDB shell version v5.0.3\nconnecting to: mongodb://127.0.0.1:27017/?compressors=disabled\u0026gssapiServiceName=mongodb\nImplicit session: session { \"id\" : UUID(\"6f621971-1d81-45c6-9f74-23eacc9cc4a1\") }\nMongoDB server version: 5.0.3\n================\nWarning: the \"mongo\" shell has been superseded by \"mongosh\",\nwhich delivers improved usability and compatibility.The \"mongo\" shell has been deprecated and will be removed in\nan upcoming release.\nWe recommend you begin using \"mongosh\".\nFor installation instructions, see\nhttps://docs.mongodb.com/mongodb-shell/install/\n================\n{\n        \"ok\" : 1,\n        \"$clusterTime\" : {\n                \"clusterTime\" : Timestamp(1636305395, 1),\n                \"signature\" : {\n                        \"hash\" : BinData(0,\"AAAAAAAAAAAAAAAAAAAAAAAAAAA=\"),\n                        \"keyId\" : NumberLong(0)\n                }\n        },\n        \"operationTime\" : Timestamp(1636305395, 1)\n}\nbye\n```\n\n### Routers\nAfter initilizing `config-server` and `shards`, wait a bit to to elect primaries\nbefore initilizing `router`:\n\n```bash\n➜  mongodb-cluster-docker git:(master) ✗ bash bash/init-router.sh \nMongoDB shell version v5.0.3\nconnecting to: mongodb://127.0.0.1:27017/?compressors=disabled\u0026gssapiServiceName=mongodb\nImplicit session: session { \"id\" : UUID(\"25a1c2a2-135c-4550-b732-713e018eb0a2\") }\nMongoDB server version: 5.0.3\n================\nWarning: the \"mongo\" shell has been superseded by \"mongosh\",\nwhich delivers improved usability and compatibility.The \"mongo\" shell has been deprecated and will be removed in\nan upcoming release.\nWe recommend you begin using \"mongosh\".\nFor installation instructions, see\nhttps://docs.mongodb.com/mongodb-shell/install/\n================\n{\n        \"shardAdded\" : \"rs-shard-01\",\n        \"ok\" : 1,\n        \"$clusterTime\" : {\n                \"clusterTime\" : Timestamp(1636305656, 6),\n                \"signature\" : {\n                        \"hash\" : BinData(0,\"AAAAAAAAAAAAAAAAAAAAAAAAAAA=\"),\n                        \"keyId\" : NumberLong(0)\n                }\n        },\n        \"operationTime\" : Timestamp(1636305656, 5)\n}\n{\n        \"shardAdded\" : \"rs-shard-02\",\n        \"ok\" : 1,\n        \"$clusterTime\" : {\n                \"clusterTime\" : Timestamp(1636305660, 2),\n                \"signature\" : {\n                        \"hash\" : BinData(0,\"AAAAAAAAAAAAAAAAAAAAAAAAAAA=\"),\n                        \"keyId\" : NumberLong(0)\n                }\n        },\n        \"operationTime\" : Timestamp(1636305658, 4)\n}\n{\n        \"shardAdded\" : \"rs-shard-03\",\n        \"ok\" : 1,\n        \"$clusterTime\" : {\n                \"clusterTime\" : Timestamp(1636305662, 9),\n                \"signature\" : {\n                        \"hash\" : BinData(0,\"AAAAAAAAAAAAAAAAAAAAAAAAAAA=\"),\n                        \"keyId\" : NumberLong(0)\n                }\n        },\n        \"operationTime\" : Timestamp(1636305662, 3)\n}\nbye\n```\n\n### Verify status\nWe can check the status of replicaset:\n\n```bash\n# Exec to the shard\n➜  mongodb-cluster-docker git:(master) ✗ docker exec -it shard-01-node-a bash \nroot@ad9c4985f630:/# mongo\nrs-shard-01:PRIMARY\u003e rs.status()\n{\n        \"set\" : \"rs-shard-01\",\n        \"date\" : ISODate(\"2021-11-07T17:31:01.326Z\"),\n        \"myState\" : 1,\n        \"term\" : NumberLong(1),\n        \"syncSourceHost\" : \"\",\n        \"syncSourceId\" : -1,\n        \"heartbeatIntervalMillis\" : NumberLong(2000),\n        \"majorityVoteCount\" : 2,\n        \"writeMajorityCount\" : 2,\n        \"votingMembersCount\" : 3,\n        \"writableVotingMembersCount\" : 3,\n        \"optimes\" : {\n                \"lastCommittedOpTime\" : {\n                        \"ts\" : Timestamp(1636306261, 9),\n                        \"t\" : NumberLong(1)\n                },\n                \"lastCommittedWallTime\" : ISODate(\"2021-11-07T17:31:01.283Z\"),\n                \"readConcernMajorityOpTime\" : {\n                        \"ts\" : Timestamp(1636306261, 9),\n                        \"t\" : NumberLong(1)\n                },\n                \"appliedOpTime\" : {\n                        \"ts\" : Timestamp(1636306261, 9),\n                        \"t\" : NumberLong(1)\n                },\n                \"durableOpTime\" : {\n                        \"ts\" : Timestamp(1636306261, 8),\n                        \"t\" : NumberLong(1)\n                },\n                \"lastAppliedWallTime\" : ISODate(\"2021-11-07T17:31:01.283Z\"),\n                \"lastDurableWallTime\" : ISODate(\"2021-11-07T17:31:01.278Z\")\n        },\n        \"lastStableRecoveryTimestamp\" : Timestamp(1636306245, 14),\n        \"electionCandidateMetrics\" : {\n                \"lastElectionReason\" : \"electionTimeout\",\n                \"lastElectionDate\" : ISODate(\"2021-11-07T17:16:45.266Z\"),\n                \"electionTerm\" : NumberLong(1),\n                \"lastCommittedOpTimeAtElection\" : {\n                        \"ts\" : Timestamp(0, 0),\n                        \"t\" : NumberLong(-1)\n                },\n                \"lastSeenOpTimeAtElection\" : {\n                        \"ts\" : Timestamp(1636305394, 1),\n                        \"t\" : NumberLong(-1)\n                },\n                \"numVotesNeeded\" : 2,\n                \"priorityAtElection\" : 1,\n                \"electionTimeoutMillis\" : NumberLong(10000),\n                \"numCatchUpOps\" : NumberLong(0),\n                \"newTermStartDate\" : ISODate(\"2021-11-07T17:16:45.299Z\"),\n                \"wMajorityWriteAvailabilityDate\" : ISODate(\"2021-11-07T17:16:45.957Z\")\n        },\n        \"members\" : [\n                {\n                        \"_id\" : 0,\n                        \"name\" : \"shard01-a:27017\",\n                        \"health\" : 1,\n                        \"state\" : 1,\n                        \"stateStr\" : \"PRIMARY\",\n                        \"uptime\" : 1211,\n                        \"optime\" : {\n                                \"ts\" : Timestamp(1636306261, 9),\n                                \"t\" : NumberLong(1)\n                        },\n                        \"optimeDate\" : ISODate(\"2021-11-07T17:31:01Z\"),\n                        \"syncSourceHost\" : \"\",\n                        \"syncSourceId\" : -1,\n                        \"infoMessage\" : \"\",\n                        \"electionTime\" : Timestamp(1636305405, 1),\n                        \"electionDate\" : ISODate(\"2021-11-07T17:16:45Z\"),\n                        \"configVersion\" : 2,\n                        \"configTerm\" : 1,\n                        \"self\" : true,\n                        \"lastHeartbeatMessage\" : \"\"\n                },\n                {\n                        \"_id\" : 1,\n                        \"name\" : \"shard01-b:27017\",\n                        \"health\" : 1,\n                        \"state\" : 2,\n                        \"stateStr\" : \"SECONDARY\",\n                        \"uptime\" : 867,\n                        \"optime\" : {\n                                \"ts\" : Timestamp(1636306260, 9),\n                                \"t\" : NumberLong(1)\n                        },\n                        \"optimeDurable\" : {\n                                \"ts\" : Timestamp(1636306260, 9),\n                                \"t\" : NumberLong(1)\n                        },\n                        \"optimeDate\" : ISODate(\"2021-11-07T17:31:00Z\"),\n                        \"optimeDurableDate\" : ISODate(\"2021-11-07T17:31:00Z\"),\n                        \"lastHeartbeat\" : ISODate(\"2021-11-07T17:31:01.263Z\"),\n                        \"lastHeartbeatRecv\" : ISODate(\"2021-11-07T17:31:01.252Z\"),\n                        \"pingMs\" : NumberLong(0),\n                        \"lastHeartbeatMessage\" : \"\",\n                        \"syncSourceHost\" : \"shard01-a:27017\",\n                        \"syncSourceId\" : 0,\n                        \"infoMessage\" : \"\",\n                        \"configVersion\" : 2,\n                        \"configTerm\" : 1\n                },\n                {\n                        \"_id\" : 2,\n                        \"name\" : \"shard01-c:27017\",\n                        \"health\" : 1,\n                        \"state\" : 2,\n                        \"stateStr\" : \"SECONDARY\",\n                        \"uptime\" : 867,\n                        \"optime\" : {\n                                \"ts\" : Timestamp(1636306260, 9),\n                                \"t\" : NumberLong(1)\n                        },\n                        \"optimeDurable\" : {\n                                \"ts\" : Timestamp(1636306260, 9),\n                                \"t\" : NumberLong(1)\n                        },\n                        \"optimeDate\" : ISODate(\"2021-11-07T17:31:00Z\"),\n                        \"optimeDurableDate\" : ISODate(\"2021-11-07T17:31:00Z\"),\n                        \"lastHeartbeat\" : ISODate(\"2021-11-07T17:31:01.263Z\"),\n                        \"lastHeartbeatRecv\" : ISODate(\"2021-11-07T17:31:01.248Z\"),\n                        \"pingMs\" : NumberLong(0),\n                        \"lastHeartbeatMessage\" : \"\",\n                        \"syncSourceHost\" : \"shard01-a:27017\",\n                        \"syncSourceId\" : 0,\n                        \"infoMessage\" : \"\",\n                        \"configVersion\" : 2,\n                        \"configTerm\" : 1\n                }\n        ],\n        \"ok\" : 1,\n        \"$gleStats\" : {\n                \"lastOpTime\" : Timestamp(0, 0),\n                \"electionId\" : ObjectId(\"7fffffff0000000000000001\")\n        },\n        \"lastCommittedOpTime\" : Timestamp(1636306261, 9),\n        \"$configServerState\" : {\n                \"opTime\" : {\n                        \"ts\" : Timestamp(1636306261, 11),\n                        \"t\" : NumberLong(-1)\n                }\n        },\n        \"$clusterTime\" : {\n                \"clusterTime\" : Timestamp(1636306261, 11),\n                \"signature\" : {\n                        \"hash\" : BinData(0,\"AAAAAAAAAAAAAAAAAAAAAAAAAAA=\"),\n                        \"keyId\" : NumberLong(0)\n                }\n        },\n        \"operationTime\" : Timestamp(1636306261, 9)\n}\n```\n\nSimilar with another `shards`. Check the status of `router`:\n\n```bash\n➜  mongodb-cluster-docker git:(master) ✗ docker-compose exec router01 mongo --port 27017\nMongoDB shell version v5.0.3\nconnecting to: mongodb://127.0.0.1:27017/?compressors=disabled\u0026gssapiServiceName=mongodb\nImplicit session: session { \"id\" : UUID(\"69408b5a-d313-44ae-ae64-81e9d3d21588\") }\nMongoDB server version: 5.0.3\n================\nWarning: the \"mongo\" shell has been superseded by \"mongosh\",\nwhich delivers improved usability and compatibility.The \"mongo\" shell has been deprecated and will be removed in\nan upcoming release.\nWe recommend you begin using \"mongosh\".\nFor installation instructions, see\nhttps://docs.mongodb.com/mongodb-shell/install/\n================\n---\nThe server generated these startup warnings when booting: \n        2021-11-07T17:10:47.048+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted\n---\nmongos\u003e sh.status()\n--- Sharding Status --- \n  sharding version: {\n        \"_id\" : 1,\n        \"minCompatibleVersion\" : 5,\n        \"currentVersion\" : 6,\n        \"clusterId\" : ObjectId(\"618809c41517a9e726602e13\")\n  }\n  shards:\n        {  \"_id\" : \"rs-shard-01\",  \"host\" : \"rs-shard-01/shard01-a:27017,shard01-b:27017,shard01-c:27017\",  \"state\" : 1,  \"topologyTime\" : Timestamp(1636305656, 2) }\n        {  \"_id\" : \"rs-shard-02\",  \"host\" : \"rs-shard-02/shard02-a:27017,shard02-b:27017,shard02-c:27017\",  \"state\" : 1,  \"topologyTime\" : Timestamp(1636305658, 2) }\n        {  \"_id\" : \"rs-shard-03\",  \"host\" : \"rs-shard-03/shard03-a:27017,shard03-b:27017,shard03-c:27017\",  \"state\" : 1,  \"topologyTime\" : Timestamp(1636305662, 1) }\n  active mongoses:\n        \"5.0.3\" : 2\n  autosplit:\n        Currently enabled: yes\n  balancer:\n        Currently enabled: yes\n        Currently running: yes\n        Collections with active migrations: \n                config.system.sessions started at Sun Nov 07 2021 17:33:54 GMT+0000 (UTC)\n        Failed balancer rounds in last 5 attempts: 0\n        Migration results for the last 24 hours: \n                237 : Success\n  databases:\n        {  \"_id\" : \"config\",  \"primary\" : \"config\",  \"partitioned\" : true }\n                config.system.sessions\n                        shard key: { \"_id\" : 1 }\n                        unique: false\n                        balancing: true\n                        chunks:\n                                rs-shard-01     787\n                                rs-shard-02     118\n                                rs-shard-03     119\n                        too many chunks to print, use verbose if you want to force print\n```\n\nDone ... *wait*. You can **remove** all:\n\n```bash\n➜  mongodb-cluster-docker git:(master) bash clean_all.sh \nStopping mongo-config-03 ... done\nStopping mongo-config-02 ... done\nStopping mongo-config-01 ... done\nStopping router-02       ... done\nStopping shard-02-node-a ... done\nStopping shard-01-node-a ... done\nStopping shard-03-node-a ... done\nStopping shard-01-node-c ... done\nStopping shard-03-node-c ... done\nStopping shard-02-node-b ... done\nStopping router-01       ... done\nStopping shard-01-node-b ... done\nStopping shard-03-node-b ... done\nStopping shard-02-node-c ... done\nRemoving mongo-config-03 ... done\nRemoving mongo-config-02 ... done\nRemoving mongo-config-01 ... done\nRemoving router-02       ... done\nRemoving shard-02-node-a ... done\nRemoving shard-01-node-a ... done\nRemoving shard-03-node-a ... done\nRemoving shard-01-node-c ... done\nRemoving shard-03-node-c ... done\nRemoving shard-02-node-b ... done\nRemoving router-01       ... done\nRemoving shard-01-node-b ... done\nRemoving shard-03-node-b ... done\nRemoving shard-02-node-c ... done\nRemoving network mongodb-cluster-docker_default\nRemoving image mongo:5.0.3\n```\n\nAnd so real *done* =))))\n\n### Show your support\nGive a ⭐ if you like this application ❤️\n\n## Contribution\nAll contributions are welcomed in this project!\n\n## License\nThe MIT License (MIT). Please see [LICENSE](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fductnn%2Fmongodb-cluster-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fductnn%2Fmongodb-cluster-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fductnn%2Fmongodb-cluster-docker/lists"}