Skip to content

Instantly share code, notes, and snippets.

@obbaeiei
Last active October 9, 2023 07:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save obbaeiei/e44526aa0e4af6c469943015f15079fd to your computer and use it in GitHub Desktop.
Save obbaeiei/e44526aa0e4af6c469943015f15079fd to your computer and use it in GitHub Desktop.
Easy Works docker compose create mongo's replica localhost - use with setup.sh
docker compose up -d
version: '3'
services:
mongosetup:
image: mongo
depends_on:
- mongo1
- mongo2
- mongo3
volumes:
- ./setup.sh:/scripts/setup.sh
restart: 'no'
entrypoint: ['bash', '/scripts/setup.sh']
mongo1:
hostname: mongo1
container_name: localmongo1
image: mongo
expose:
- 27011
ports:
- 27011:27011
restart: always
entrypoint: ['/usr/bin/mongod', '--port', '27011', '--bind_ip_all', '--replSet', 'rs0']
mongo2:
hostname: mongo2
container_name: localmongo2
image: mongo
expose:
- 27012
ports:
- 27012:27012
restart: always
entrypoint: ['/usr/bin/mongod', '--port', '27012', '--bind_ip_all', '--replSet', 'rs0']
mongo3:
hostname: mongo3
container_name: localmongo3
image: mongo
expose:
- 27013
ports:
- 27013:27013
restart: always
entrypoint: ['/usr/bin/mongod', '--port', '27013', '--bind_ip_all', '--replSet', 'rs0']
127.0.0.1 mongo1
127.0.0.1 mongo2
127.0.0.1 mongo3
echo "sleeping for 10 seconds"
sleep 10
echo mongo_setup.sh time now: `date +"%T" `
mongo --host mongo1:27011 <<EOF
var cfg = {
"_id": "rs0",
"version": 1,
"members": [
{
"_id": 0,
"host": "mongo1:27011",
"priority": 2
},
{
"_id": 1,
"host": "mongo2:27012",
"priority": 0
},
{
"_id": 2,
"host": "mongo3:27013",
"priority": 0
}
]
};
rs.initiate(cfg);
EOF
@obbaeiei
Copy link
Author

obbaeiei commented Oct 9, 2023

* IMPORTANT *

Add 3 lines in /etc/hosts

sudo vi /etc/hosts

127.0.0.1 mongo1
127.0.0.1 mongo2
127.0.0.1 mongo3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment