• dockercompose 构建mongodb并导入基础数据示例


    使用docker-compose构建mongodb服务并导入基础数据示例。

    1、文件目录结构

    ——mongo/

           |——docker-compose.yml

           |——mongo-Dockerfile

           |——setup.sh

           |——data/

                   |——xxx1.json

                   |——xxx2.json

    2、docker-compose.yml

     1 services:
     2     mongo_db:
     3         build:
     4           context: .
     5           dockerfile: mongo-Dockerfile
     6         restart: always
     7         ports:
     8           - "27019:27017"
     9         volumes:
    10           - "/home/volumes/mongo:/data/db"
    11           - "/etc/localtime:/etc/localtime"

    3、mongo-Dockerfile

    1 FROM mongo:3.4
    2 ENV WORKSPACE /usr/local/work
    3 ENV AUTO_RUN_DIR /docker-entrypoint-initdb.d
    4 ENV INSTALL_MONGO_SHELL setup.sh
    5 RUN mkdir -p $WORKSPACE
    6 COPY ./data/*.json $WORKSPACE/
    7 COPY ./$INSTALL_MONGO_SHELL $AUTO_RUN_DIR/
    8 RUN chmod a+x $AUTO_RUN_DIR/$INSTALL_MONGO_SHELL

    4、setup.sh

     1 #!/bin/bash
     2 mongo <<EOF
     3 use admin;
     4 db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
     5 
     6 use new_db;
     7 db.createCollection("collection1");
     8 db.createCollection("collection2");
     9 EOF
    10 
    11 mongoimport --db new_db --collection collection1 --file $WORKSPACE/xxx1.json
    12 mongoimport --db new_db --collection collection2 --file $WORKSPACE/xxx2.json

    5、在docker-compose.yml目录下执行

    1 docker-compose up -d

    over。

  • 相关阅读:
    BZOJ3732: Network(Kruskal重构树)
    AtCoder Beginner Contest 103
    2018.7.21NOIP模拟赛?解题报告
    PE刷题记
    杜教筛入门
    浅谈积性函数的线性筛法
    BZOJ4916: 神犇和蒟蒻(杜教筛)
    BZOJ2818: Gcd(莫比乌斯反演)
    LD1-B(最短路径-SPFA)
    UVa 10837 A Research Problem 欧拉函数
  • 原文地址:https://www.cnblogs.com/dowi/p/9767189.html
Copyright © 2020-2023  润新知