MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

replika Ustaw mongo docker-compose

Miałem podobny problem i rozwiązałem go za pomocą następującego pliku do tworzenia:

Wersja
version: "3.8"

services:
  mongo1:
    image: mongo:4.2
    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:4.2
    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:4.2
    container_name: mongo3
    command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30003"]
    volumes:
      - ./data/mongo-3:/data/db
    ports:
      - 30003:30003

z następującymi w moim /etc/hosts plik:

127.0.0.1       mongo1
127.0.0.1       mongo2
127.0.0.1       mongo3

Udokumentowałem to w repozytorium GitHub i zamieściłem mały wpis na blogu tutaj:

https://github.com/UpSync-Dev/docker-compose-mongo-replica-set

https://www.upsync.dev/2021/02/02/run-mongo-replica-set.html



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wydajność MongoDB przy rosnącej strukturze danych

  2. Jak odwołać się do innego schematu w moim schemacie Mongoose?

  3. pymongo — moduł dnspython musi być zainstalowany, aby można było używać identyfikatorów URI mongodb+srv://

  4. Nie udało się połączyć Mongoose z Atlasem

  5. Używanie map/reduce do mapowania właściwości w kolekcji