version: "3.9"
services:
mongodb-primary:
image: docker.io/bitnami/mongodb:5.0
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb-primary
- MONGODB_REPLICA_SET_MODE=primary
- MONGODB_ROOT_PASSWORD=password123
- MONGODB_REPLICA_SET_KEY=replicasetkey123
volumes:
- "mongodb_master_data:/bitnami/mongodb"
ports:
- "27047:27017"
mongodb-secondary:
image: docker.io/bitnami/mongodb:5.0
depends_on:
- mongodb-primary
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb-secondary
- MONGODB_REPLICA_SET_MODE=secondary
- MONGODB_INITIAL_PRIMARY_HOST=mongodb-primary
- MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD=password123
- MONGODB_REPLICA_SET_KEY=replicasetkey123
mongodb-arbiter:
image: docker.io/bitnami/mongodb:5.0
depends_on:
- mongodb-primary
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb-arbiter
- MONGODB_REPLICA_SET_MODE=arbiter
- MONGODB_INITIAL_PRIMARY_HOST=mongodb-primary
- MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD=password123
- MONGODB_REPLICA_SET_KEY=replicasetkey123
# your-services:
# ...
# depends_on:
# - mongodb-primary
# - mongodb-secondary
# - mongodb-arbiter
volumes:
mongodb_master_data:
driver: local
mongodb://root:password123@mongodb-primary:27017/test?authSource=admin&directConnection=true
mongodb://root:password123@localhost:27047/test?authSource=admin&directConnection=true