首页 > 数据库 >MongoDB 解析:灵活文档数据库与 Docker Compose 部署

MongoDB 解析:灵活文档数据库与 Docker Compose 部署

时间:2023-09-26 23:01:13浏览次数:45  
标签:存储 Compose MongoDB 数据库 文档 Docker

MongoDB 是一款开源、高性能的 NoSQL 数据库,以其无模式的文档存储格式(BSON)而著称,广泛应用于众多开源项目,包括但不限于 Yapi 等。它在大规模数据存储和实时数据处理方面表现出色,因此备受青睐。在本文中,我们将深入探讨 MongoDB 的特性,并详细阐述如何使用 Docker Compose 轻松部署 MongoDB 数据库,为你提供全方位的指导。

MongoDB 解析:灵活文档数据库与 Docker Compose 部署_Docker

MongoDB 简介

MongoDB 是一个开源、高性能、面向文档的 NoSQL 数据库,具有以下特点:

  • 文档存储: MongoDB 使用 BSON(二进制 JSON)格式来存储数据,每个文档可以具有不同的字段,这使得 MongoDB 非常适合存储半结构化和多变的数据。
  • 横向可扩展: MongoDB 支持横向扩展,可以轻松地扩展以处理大规模数据和高负载。你可以添加更多的节点来增加容量。
  • 复制和高可用性: MongoDB 支持数据复制,允许你创建多个副本集来提供高可用性和数据冗余。如果一个节点失败,系统可以自动切换到另一个可用节点。
  • 强大的查询语言: MongoDB 提供丰富的查询语言,支持复杂的查询操作,包括聚合、分组和地理空间查询等。
  • 地理空间支持: MongoDB 支持地理空间索引和查询,适用于地理信息系统(GIS)和地理定位应用。
  • 社区支持和工具生态系统: MongoDB 拥有庞大的社区,有许多工具和驱动程序可用于各种编程语言,包括 Python、Java、Node.js 等。

使用 Docker Compose 部署 MongoDB

要快速部署 MongoDB 数据库,我们可以使用 Docker Compose。以下是部署 MongoDB 的步骤:

第一步:创建docker-compose.yml文件

创建一个名为mongo的文件夹作为部署目录,在mongo文件夹下创建一个名为 docker-compose.yml 的文件,并添加以下内容:

version: '3.3'

services:
  mongodb:
    image: mongo:latest
    restart: always
    container_name: mongodb
    ports:
      - "27017:27017"
    volumes:
      - ./data/db:/data/db
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: xj2023
第二步:启动 MongoDB 容器

在docker-compose.yml的同级目录下执行以下命令启动容器:

docker-compose up -d
第三步:连接到 MongoDB

使用 MongoDB 客户端工具,如 mongo 命令行工具或 MongoDB Compass,连接到 MongoDB 数据库。使用上述定义的用户名和密码进行身份验证。我们此处使用的是navicat 连接。

MongoDB 解析:灵活文档数据库与 Docker Compose 部署_Docker_02

MongoDB 解析:灵活文档数据库与 Docker Compose 部署_数据库_03

第四步:开始使用 MongoDB

现在,你可以开始在 MongoDB 数据库中创建数据库、集合和文档,执行查询和更新操作。

MongoDB 解析:灵活文档数据库与 Docker Compose 部署_docker_04

结语

MongoDB 是一款强大的 NoSQL 数据库,具备文档存储、横向扩展和高可用性等出色特性。通过 Docker Compose,你可以轻松部署 MongoDB 数据库,为应用程序提供可靠的数据存储支持。希望本文帮助你更好地理解 MongoDB,并能够成功搭建自己的 MongoDB 数据库环境。

标签:存储,Compose,MongoDB,数据库,文档,Docker
From: https://blog.51cto.com/xiuji/7615676

相关文章

  • macos M1安装MongoDB及基本crud操作
    安装:官网教程InstallMongoDBCommunityEditiononmacOS—MongoDBManual我看的是这个教程:Mac安装MongoDb保姆级教程以及踩坑笔记(图文详解(xjx100.cn) 里面有详细步骤及报错/解决.庆幸我在安装过程没遇到什么错误MongoDB教程MongoDB教程|菜鸟教程(runoob.com)Mo......
  • Jetpack Compose 和 Flutter 应该先学哪个呢?
    前言当谷歌第一次宣布JetpackCompose时,不少人认为这将是flutter的结束。毕竟,既然可以使用Google提供的本地工具,为什么还要使用跨平台框架呢?那我们来整体比较一下flutter和jetpackcompose,看看他们各自有什么特点。语言对比JetpackCompose是一个用于Android应用开发的用户界面......
  • 数据库连接:使用Python连接到MySQL、SQLite和MongoDB
    在现代应用程序和数据科学中,数据库连接是至关重要的一部分。Python提供了丰富的库和驱动程序,可以轻松连接各种数据库,包括MySQL、SQLite和MongoDB。本文将介绍如何使用Python连接到这些不同类型的数据库,并提供相应的代码示例。连接到MySQL数据库MySQL是一个流行的关系型数据库管理系......
  • Jetpack Compose 和 Flutter 应该先学哪个呢?
    前言当谷歌第一次宣布JetpackCompose时,不少人认为这将是flutter的结束。毕竟,既然可以使用Google提供的本地工具,为什么还要使用跨平台框架呢?那我们来整体比较一下flutter和jetpackcompose,看看他们各自有什么特点。语言对比JetpackCompose是一个用于Android应用开发的用户界面......
  • 【Docker】使用 Docker 启动 mysql,配置挂载数据文件夹与配置文件
    #1:先创建挂载文件夹mkdir-p/mysql/config;mkdir-p/mysql/data;mkdir-p/mysql/logs#2:创建配置文件vim/mysql/config/my.cnf#3:修改权限chmod777/mysql/config/my.cnf#4:添加以下参数#event_scheduler=ON表示开启事件支持#lower_case_tabl......
  • 1-docker安装
    1.文档https://docs.docker.com/engine/install/centos/https://docs.docker.com/engine/install/linux-postinstall/2.卸载旧版yumremove-ydocker\docker-ce-cli\docker-client\docker-client-latest\doc......
  • 2-docker之daemon
    参考文档https://docs.docker.com/config/daemon/1.docker.20docker版本20以后graph修改成data-root{"api-cors-header":"",在引擎API中设置CORS标头"authorization-plugins":[],要加载的授权插件"bridge":"",将容器附加到网桥"cgroup-p......
  • 2-docker之daemon
    参考文档https://docs.docker.com/config/daemon/1.docker.20docker版本20以后graph修改成data-root{"api-cors-header":"",在引擎API中设置CORS标头"authorization-plugins":[],要加载的授权插件"bridge":"",将容器附加到网桥"cgrou......
  • helm安装mongodb带密码
    https://www.cnblogs.com/wuyubing/p/17576508.html 利用helm查看各种官方标准复杂的yaml配置以供参考#以查看rabbitmq集群安装的配置举例#首先添加chart仓库helmrepoaddaliyun-apphubhttps://apphub.aliyuncs.comhelmrepoupdate#这里我们在后面加上--dry-run--de......
  • docker-compose安装Redis
    一、单机版本1、docker-composeversion:'3'services:redis:image:redis:5.0restart:alwaysprivileged:truecontainer_name:redis-javaports:-6379:6379volumes:-/var/docker/server/redis/redis.conf:/etc/redis......