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

Kontener mongo systemu Windows Docker nie działa z montowaniem woluminu

Aby obejść ten problem, możesz użyć narzędzia takiego jak rsync aby przenieść pliki db do zmapowanego katalogu, gdy Mongo jest uruchomiony. Podstawowy błąd ma związek z opóźnieniem między woluminem zamapowanym w systemie Windows a ścieżką powiązania w kontenerze. Przeniesienie pracy na rsync oddziela opóźnienie od wymagań środowiska uruchomieniowego Mongo.

Przykład

Utwórz podstawowy Dockerfile tak:

FROM mongo:latest

RUN apt-get update && \ 
    apt-get install -y \
        rsync

ADD init.sh /init.sh

Gdzie init.sh jest:

#!/bin/bash

migrate_db() {
  while true
  do
    rsync -avh /data/db/* /data/mapped-db
    sleep 5
  done
}

migrate_db &

#Execute a command
mongod --smallfiles --logpath=/dev/null --verbose &

#Wait
wait $!

Następnie, uruchamiając kontener, po prostu zacznij od ./init.sh jako Twój ENTRYPOINT .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aplikacja podobna do Twittera korzystająca z MongoDB

  2. $addFields, gdy nie znaleziono $dopasowania

  3. błąd schematu oznacza aplikację

  4. Eksportuj kolekcję MongoDB do pliku CSV

  5. Jak znaleźć liczbę na podstawie warunku w agregacji MOngoDB?