MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Монго контейнерът на Windows Docker не работи с монтиране на том

За да избегнете това, можете да използвате инструмент като rsync за да преместите db файловете в картографирана директория, докато Mongo работи. Основният бъг е свързан със закъснението между картирания обем на Windows и този път на свързване в контейнера. Прехвърлянето на работата към rsync отделя латентността от изискванията за време на изпълнение на Mongo.

Пример

Създайте основен Dockerfile като това:

FROM mongo:latest

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

ADD init.sh /init.sh

Където init.sh е:

#!/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 $!

След това, когато стартирате контейнера, просто започнете с ./init.sh като ваша ENTRYPOINT .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. не можа да се свърже със сървър 127.0.0.1 shell/mongo.js

  2. РЕАГИРАНЕ на заявка за извличане на публикация

  3. Използвайте променливата на javascript като стойност на $regex в MongoDB заявка

  4. Sailsjs - Персонализирано регистриране с Winston

  5. Как да разрешите на всички хостове да имат реплика, зададена в mongodb