Skip to content

Instantly share code, notes, and snippets.

@un4ckn0wl3z
Created June 25, 2024 07:41
Show Gist options
  • Save un4ckn0wl3z/43583bd272208a77e0794eb529b7b717 to your computer and use it in GitHub Desktop.
Save un4ckn0wl3z/43583bd272208a77e0794eb529b7b717 to your computer and use it in GitHub Desktop.
version: "3.8"
services:
mongo1:
image: mongo:5
container_name: mongo1
command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30001"]
volumes:
- ./data/mongo-1:/data/db
ports:
- 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
container_name: mongo2
command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30002"]
volumes:
- ./data/mongo-2:/data/db
ports:
- 30002:30002
mongo3:
image: mongo:5
container_name: mongo3
command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30003"]
volumes:
- ./data/mongo-3:/data/db
ports:
- 30003:30003
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment