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: