docker-compose 构建mongodb并导入基础数据示例
2024-10-21 10:07:32
使用docker-compose构建mongodb服务并导入基础数据示例。
1、文件目录结构
——mongo/
|——docker-compose.yml
|——mongo-Dockerfile
|——setup.sh
|——data/
|——xxx1.json
|——xxx2.json
2、docker-compose.yml
services:
mongo_db:
build:
context: .
dockerfile: mongo-Dockerfile
restart: always
ports:
- "27019:27017"
volumes:
- "/home/volumes/mongo:/data/db"
- "/etc/localtime:/etc/localtime"
3、mongo-Dockerfile
FROM mongo:3.4
ENV WORKSPACE /usr/local/work
ENV AUTO_RUN_DIR /docker-entrypoint-initdb.d
ENV INSTALL_MONGO_SHELL setup.sh
RUN mkdir -p $WORKSPACE
COPY ./data/*.json $WORKSPACE/
COPY ./$INSTALL_MONGO_SHELL $AUTO_RUN_DIR/
RUN chmod a+x $AUTO_RUN_DIR/$INSTALL_MONGO_SHELL
4、setup.sh
#!/bin/bash
mongo <<EOF
use admin;
db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }); use new_db;
db.createCollection("collection1");
db.createCollection("collection2");
EOF mongoimport --db new_db --collection collection1 --file $WORKSPACE/xxx1.json
mongoimport --db new_db --collection collection2 --file $WORKSPACE/xxx2.json
5、在docker-compose.yml目录下执行
docker-compose up -d
over。
最新文章
- 第四周 技术随笔psp
- oracle常见小问题解答ORA-01008,ORA-01036
- ajax 返回json数据操作
- oracle 语句优化
- 201521123011《Java程序设计》第14周学习总结
- lambda 与内置函数,以及一些补充
- 《Coderxiaoban团队》第二次作业:团队项目选题报告
- 【读后感】读《漫谈“大学生的四个learn”》之后有感
- linux下安装oh-my-zsh
- python写入txt文件时的覆盖和追加
- 项目开发版本控制----Git
- Ajax(django)
- Singer 学习十 同步模式
- matlab与示波器连接及电脑连接
- 当别人给你一个wsdl或者webservice接口时
- react-native使用redux 存在的坑
- Android进程管理
- iOS 9应用开发基础教程下册
- 进程控制函数(2)-setpgid() 修改当前进程的进程组ID
- ZOJ 1609 Equivalence(状压+dfs减枝)
热门文章
- Windows 编程
- join() 和 sleep() 区别
- 调用webservice
- Java学习笔记--继承和多态(下)
- 斗鱼扩展--localStorage备份与导出(九)
- flexbox预习
- The thirteen day
- Thinkphp 出现 “_CACHE_WRITE_ERROR” 错误的可能解决办法
- TP5.1:数据库的增删改查操作(基于面向对象操作)
- traffic_light_bag_file 数据集 下载链接