MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Vùng chứa mongo của Windows Docker không hoạt động với volume mount

Để giải quyết vấn đề này, bạn có thể sử dụng một công cụ như rsync để di chuyển các tệp db vào thư mục được ánh xạ trong khi Mongo đang chạy. Lỗi cơ bản liên quan đến độ trễ giữa ổ đĩa được ánh xạ của Windows và đường dẫn liên kết đó trong vùng chứa. Giảm tải công việc để rsync tách độ trễ khỏi các yêu cầu thời gian chạy của Mongo.

Ví dụ

Tạo một Dockerfile cơ bản như thế này:

FROM mongo:latest

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

ADD init.sh /init.sh

Ở đâu init.sh là:

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

Sau đó, khi khởi chạy vùng chứa, chỉ cần bắt đầu bằng ./init.shENTRYPOINT của bạn .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pymongo chỉ trả về giá trị dưới dạng danh sách

  2. Mongoose cập nhật / nâng cấp?

  3. Làm cách nào để thực thi kiểm tra kiểu cho một giá trị của tài liệu trong MongoDB?

  4. Số học Long trong Mongo shell

  5. Cơ bản giữa các truy vấn ngày $ gte, $ lte, v.v.