MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara membuat Gambar Mongo Docker dengan koleksi dan data default?

Masalahnya adalah informasi tidak dapat disimpan di /db/data , jadi saya telah membuat solusi dengan membuat direktori data saya sendiri.

# Parent Dockerfile https://github.com/docker-library/mongo/blob/982328582c74dd2f0a9c8c77b84006f291f974c3/3.0/Dockerfile
FROM mongo:latest

# Modify child mongo to use /data/db2 as dbpath (because /data/db wont persist the build)
RUN mkdir -p /data/db2 \
    && echo "dbpath = /data/db2" > /etc/mongodb.conf \
    && chown -R mongodb:mongodb /data/db2

COPY . /data/db2

RUN mongod --fork --logpath /var/log/mongodb.log --dbpath /data/db2 --smallfiles \
    && CREATE_FILES=/data/db2/scripts/*-create.js \
    && for f in $CREATE_FILES; do mongo 127.0.0.1:27017 $f; done \
    && INSERT_FILES=/data/db2/scripts/*-insert.js \
    && for f in $INSERT_FILES; do mongo 127.0.0.1:27017 $f; done \
    && mongod --dbpath /data/db2 --shutdown \
    && chown -R mongodb /data/db2

# Make the new dir a VOLUME to persists it 
VOLUME /data/db2

CMD ["mongod", "--config", "/etc/mongodb.conf", "--smallfiles"]

Terima kasih kepada @yosifkit dari proyek docker-library/mongo Github karena menunjukkan bahwa volume akan menyimpan data dalam gambar yang dihasilkan. Saya melewatkannya di dokumentasi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pertempuran Database NoSQL - Membandingkan MongoDB dan CouchDB

  2. MongoDB $keDesimal

  3. mongoexport tanpa bidang _id

  4. Spring Data Mongo Repository ::Metode bersama yang umum di semua masalah Repo

  5. MongoDB $ne Operator Pipa Agregasi