sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvad er den korrekte måde at indstille et mongodb replika sæt ved hjælp af docker og fig?

Jeg havde et lignende problem, det er hvad jeg gjorde. Jeg bruger docker-compose i stedet for fig.

I min docker-compose.

mongors:                                                                                                
  image: mongo                                                                                          
  ports:                                                                                                
    - "27017:27017"                                                                                     
  volumes:                                                                                              
   - ./mongo:mongo                                                                                      
  entrypoint: mongo/entrypoint.sh

I mit entrypoint.sh:

#!/bin/bash
mongod --port 27018 --replSet rs0 --fork --syslog --smallfiles
mongo --port 27018 --eval "rs.initiate({_id : 'rs0', members : [{_id : 0, host : 'localhost:27018'}]})"
mongo --port 27018 --eval "while(true) {if (rs.status().ok) break;sleep(1000)};"

Sørg for, at den er eksekverbar:

chmod +x mongo/entrypoint.sh

Det er lidt hacky, men det virker :)



  1. Få Redis-nøgler og -værdier ved kommandoprompt

  2. MongoDB - Hvorfor kaster _id-indekset ikke en fejl på duplikerede poster?

  3. Ugyldig operator '$size' i aggregering

  4. MongoDB:Får ikke korrekt resultat ved hjælp af $geoWithin-operatoren