Skip to main content

Docker compose MongoDB | Servidor

  • Docker compose MongoDB | Servidor

  • openssl rand -base64 756 > mongo-keyfile

  • chmod 400 mongo-keyfile

version: "3.8"

services:
mongo1:
image: mongo:5
container_name: mongo1
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: secret
MONGODB_REPLICA_SET_KEY: 83599d930cfdc3f84d04610fb5f83d5d
entrypoint: ["/bin/bash", "-c", " mongod --replSet my-replica-set --bind_ip_all --port 30001 --dbpath /data/db1"]
volumes:
- ./data/mongo-1:/data/db1
ports:
- 30001:30001
networks:
- mongo-cluster
healthcheck:
test: test $$(echo "rs.initiate({_id:'my-replica-set',members:[{_id:0,host:\"mongo1:30001\",priority:15},{_id:1,host:\"mongo2:30002\",priority:1},{_id:2,host:\"mongo3:30003\",priority:1}]}).ok || rs.status().ok" | mongo --port 30001 --quiet) -eq 1
interval: 10s
start_period: 30s

mongo2:
image: mongo:5
container_name: mongo2
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: secret
MONGODB_REPLICA_SET_KEY: 83599d930cfdc3f84d04610fb5f83d5d
entrypoint: ["/bin/bash", "-c", " mongod --replSet my-replica-set --bind_ip_all --port 30002 --dbpath /data/db2"]
volumes:
- ./data/mongo-2:/data/db2
ports:
- 30002:30002
networks:
- mongo-cluster

mongo3:
image: mongo:5
container_name: mongo3
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: secret
MONGODB_REPLICA_SET_KEY: 83599d930cfdc3f84d04610fb5f83d5d
entrypoint: ["/bin/bash", "-c", " mongod --replSet my-replica-set --bind_ip_all --port 30003 --dbpath /data/db3"]
volumes:
- ./data/mongo-3:/data/db3
ports:
- 30003:30003
networks:
- mongo-cluster

networks:
mongo-cluster:
driver: bridge


# version: "3.7"

# services:
# mongodb01:
# image: bitnami/mongodb:4.1.13-r13
# environment:
# - MONGODB_ADVERTISED_HOSTNAME=mongodb01
# - MONGODB_REPLICA_SET_MODE=primary
# - MONGODB_ROOT_PASSWORD=091fdcc8d01be
# - MONGODB_REPLICA_SET_KEY=
# ports:
# - 27017:27017
# networks:
# - bluedesk-network
# volumes:
# - mongodb01:/bitnami
# restart: unless-stopped

# mongodb02:
# image: bitnami/mongodb:4.1.13-r13
# depends_on:
# - mongodb01
# environment:
# - MONGODB_ADVERTISED_HOSTNAME=mongodb02
# - MONGODB_PRIMARY_HOST=mongodb01
# - MONGODB_REPLICA_SET_MODE=secondary
# - MONGODB_PRIMARY_ROOT_PASSWORD=
# - MONGODB_REPLICA_SET_KEY=
# ports:
# - 27018:27017
# networks:
# - bluedesk-network
# restart: unless-stopped

# mongodb03:
# image: bitnami/mongodb:4.1.13-r13
# depends_on:
# - mongodb01
# environment:
# - MONGODB_ADVERTISED_HOSTNAME=mongodb03
# - MONGODB_PRIMARY_HOST=mongodb01
# - MONGODB_REPLICA_SET_MODE=secondary
# - MONGODB_PRIMARY_ROOT_PASSWORD=
# - MONGODB_REPLICA_SET_KEY=
# ports:
# - 27019:27017
# networks:
# - bluedesk-network
# restart: unless-stopped

# networks:
# bluedesk-network:

# volumes:
# mongodb01: