docker-compose 构建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。

原文地址:https://www.cnblogs.com/dowi/p/9767189.html

时间: 2024-08-03 16:36:34

docker-compose 构建mongodb并导入基础数据示例的相关文章

010.Docker Compose构建WordPress实战

一 前期规划 类型 版本 备注 WordPress镜像 wordpress:latest MySQL数据库 5.7 Docker已安装,参考<002.Docker版本及安装>. Docker Compose已安装,参考<009.Docker Compose基础使用>. 二 正式构建 2.1 创建目录 1 [email protected]:~# mkdir my_wordpress 2 [email protected]:~# mkdir /db_data #创建用于存储MySQL

009.Docker Compose基础使用

一 Docker Compose概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配置中创建并启动所有服务. Compose适用于所有环境:生产,登台,开发,测试以及CI工作流程. 使用Compose基本上是一个三步过程: 在Dockerfile中定义您的应用程序环境,以便可以在任何地方进行再生产. 定义构成应用程序的服务,docker-compose.yml 以便它们可以在隔离环

docker compose的简单使用

笔记内容:docker compose的简单使用笔记日期:2018-02-08 25.17 安装docker compose 25.18 docker compose示例 安装docker compose docker compose可以方便我们快捷高效地管理容器的启动.停止以及重启等操作,和批量管理容器,它类似于linux下的shell脚本,基于yaml语法,在该文件里我们可以描述应用的架构,比如用什么镜像.数据卷.网络模式.监听端口等信息.我们可以在一个compose文件中定义一个多容器的应

有容云:实战总结之 利用Docker、Docker Compose &amp;Rancher构建持续部署

前言: 本文由John Patterson . Chris Lunsford写于2016年4月4日,译者有容云张向波,转载请注明出处.(原文链接见文末) 作者John Patterson和Chris Lunsford 运营了一家提供运营和基础架构服务的公司,本文是他们给大家分享的内容:关于如何通过使用Docker.Docker-Compose和Rancher来实现容器部署落地. 我们想跟你一起从头开始体验整个过程,特别是之间遇到的一些痛点和所做的决策.目前,已经有许多的资源和工具可以与Docke

搭建 MongoDB 服务器,MongoDB 基本使用,数据导入导出

MongoDB 1.1软件介绍 ? 介于关系数据库和非关系数据库之间的产品 – 一个基于分布式文件存储的数据库. – 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. – MongoDB 将数据存储为一个文档,数据结构由键值(key=>value) 对组成. – MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 1.2软件特点 – 安装简单 – 面向文档存储,操作比较简单容易 – 支持丰富的查询表达 – 可以设置任何属性的索引 –

docker compose项目构建

##docker compose安装1.安装epel源 yum install epel-releae -y 2.安装python-pip yum install -y python-pip 3.安装docker compose pip install docker-compose 4.查看docker compose docker-compose version docker compose项目构建 #新建项目文件夹并切换进入项目文件夹 [email protected]:~#mkdir xi

Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实比较无聊,请不要着急精彩马上开始,当大家对 docker 相关概念有所了解之后,后面我会结合 Spring Boot 给大家来一系列的小例子,会让大家感受到使用 Docker 就是这么爽! 今天给大家演出的导演是 Docker 家族的 docker-compare ,主演是 Spring Boot.

docker——三剑客之Docker Compose

编排(Orchestration)功能是复杂系统实现灵活可操作性的关键.特别是在Docker应用场景中,编排意味着用户可以灵活的对各种容器资源实现定义和管理. 作为Docker官方编排工具,Compose的重要性不言而喻,它可以让用户通过编写一个简单模板文件,快速地创建和管理基于Docker容器地应用集群. Compose项目是Docker官方的开源项目,负责实现对Docker容器的快速编排.从功能上看,跟OpenStack中的Heat十分相似.Compose定位是"定义和运行多个Docker容

Docker Compose

compose项目简介 compose项目来源于之前的Fig项目,使用python代码编写.compose项目主要用于编排部署基于docker的应用.本身与docker/swarm配合度很高. Docker Compose 是 Docker 编排服务的一部分,可以让用户在其它平台快速安装Docker,Swarm 可以让 Docker 容器在集群中高效运转,而 Compose 可以让用户在集群中部署分布式应用.简单的说,Docker Compose 属于一个"应用层"的服务,用户可以定义