1. 程式人生 > >docker-compose 構建mongodb並導入基礎數據示例

docker-compose 構建mongodb並導入基礎數據示例

oca reat alt restart 基礎 new bash json 數據

使用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。

docker-compose 構建mongodb並導入基礎數據示例