使用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。
原文地址:https://www.cnblogs.com/dowi/p/9767189.html
时间: 2024-10-08 13:11:24