docker compose部署MongoDB教程

这篇具有很好参考价值的文章主要介绍了docker compose部署MongoDB教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在本教程中,我们将使用Docker Compose来部署MongoDB数据库,包括配置时区、数据库名、端口、用户密码等信息,同时挂载数据、日志、配置文件等相关路径到宿主机,以方便管理。

首先需要在目标机器上安装Docker和Docker Compose。如果你已经安装过了,可以跳过这一步。

请参考Docker官方文档安装Docker,并参考Docker Compose官方文档安装Docker Compose。

步骤1:创建挂载路径并授权

首先,我们需要创建挂载路径,并授权给MongoDB容器使用。我们可以使用以下脚本创建:

#!/bin/bash

# 挂载路径
DATA_DIR=/opt/docker-data/mongodb/data
LOG_DIR=/opt/docker-data/mongodb/log
CONFIG_DIR=/opt/docker-data/mongodb/config

# 如果目录不存在,则创建目录并设置权限
if [ ! -d "$DATA_DIR" ]; then
  mkdir -p "$DATA_DIR"
  chmod -R 777 "$DATA_DIR"
fi

if [ ! -d "$LOG_DIR" ]; then
  mkdir -p "$LOG_DIR"
  chmod -R 777 "$LOG_DIR"
fi

if [ ! -d "$CONFIG_DIR" ]; then
  mkdir -p "$CONFIG_DIR"
  chmod -R 777 "$CONFIG_DIR"
fi

这段脚本首先判断是否已存在相关路径,如果不存在,则创建路径;然后授权相关路径给MongoDB容器使用。

步骤2:编写Docker Compose文件

接下来,我们需要编写Docker Compose文件来部署MongoDB容器。以下是一个示例的docker-compose.yml文件,其中包含了配置时区、数据库名、端口、用户密码等信息,并挂载了数据、日志、配置文件等相关路径到宿主机。

version: "3.9"
services:
  mongodb:
    image: mongo:4.4
    container_name: mongodb
    restart: always
    environment:
      - TZ=Asia/Shanghai
      - MONGO_INITDB_DATABASE=demo
      - MONGO_INITDB_ROOT_USERNAME=demo
      - MONGO_INITDB_ROOT_PASSWORD=demo2023...
    ports:
      - "6383:27017"
    volumes:
      - /opt/docker-data/mongodb/data:/data/db
      - /opt/docker-data/mongodb/logs:/data/logs
      - /opt/docker-data/mongodb/config:/data/configdb
    command: mongod --config /etc/mongo/mongod.conf

在这个文件中,我们指定了使用MongoDB 4.4版本,并将其命名为mongodb容器。我们还指定了容器重启策略为always,这样在容器启动失败或退出时,Docker会自动重启它。另外,我们在容器中配置了以下环境变量:

  • TZ:将时区设置为Asia/Shanghai。
  • MONGO_INITDB_DATABASE:将数据库名设置为demo。
  • MONGO_INITDB_ROOT_USERNAME:将用户名设置为demo。
  • MONGO_INITDB_ROOT_PASSWORD:将密码设置为demo2023…。

我们还将容器端口映射到主机的6383端口,并将数据、日志、配置文件等相关路径挂载。

配置mongod.conf文件

我们需要在宿主机上创建MongoDB配置文件mongod.conf,并按需进行修改。以下是一个示例配置文件:

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true
storage:
  dbPath: /data/db
  journal:
    enabled: true
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
  engine: wiredTiger
  directoryPerDB: true
  journal:
    enabled: true
  mmapv1:
    smallFiles: true
    journal:
      enabled: true
net:
  bindIpAll: true
  port: 27017
  protocol: tcp
  maxIncomingConnections: 10000
security:
  authorization: enabled

你可以根据需要进行修改,例如:

  • 修改systemLog.path字段指定MongoDB的日志文件路径
  • 修改storage.dbPath字段指定MongoDB的数据文件路径
  • 修改net.port字段指定MongoDB的端口号
  • 修改security.authorization字段指定是否启用MongoDB的身份验证机制

启动MongoDB

在命令行中进入Docker Compose文件所在目录,使用以下命令启动MongoDB:

docker-compose up -d

启动后,可以使用以下命令查看容器是否正常运行:

docker ps

如果看到 mongodb 容器处于运行状态,则说明MongoDB已经成功部署。文章来源地址https://www.toymoban.com/news/detail-597428.html

到了这里,关于docker compose部署MongoDB教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • window10 使用docker 本地安装部署mongodb数据库

    一、window10 安装docker 可以参看笨鸟教程【Windows Docker 安装】 安装完后的Docker Desktop是这个样子: 原始的docker镜像拉取仓库速度较慢,为了方便docker拉取镜像,可以设置国内的加速镜像,如:阿里 云、有道等【镜像加速】: 二、docker下载运行mongodb镜像 1 直接在 windows powerShel

    2024年02月03日
    浏览(33)
  • docker部署(使用docker-compose)手把手教程

    docker-compose.yml 文件内容  安装成功后,运行 docker ps 出现如下报错  表示未启动docker,运行下列语句即可 安装完成后,运行 赋予权限即可 在服务器上单独新建文件夹名为ruoyi-admin dockerfile文件如下  执行如下命令 这就构建出本地的镜像了。   依次再构建出ruoyi/ruoyi-xxl-job-adm

    2024年02月01日
    浏览(35)
  • 通过 docker-compose 快速部署 Hive 详细教程

    其实通过 docker-compose 部署 hive 是在继上篇文章 Hadoop 部署的基础之上叠加的,Hive 做为最常用的数仓服务,所以是有必要进行集成的,感兴趣的小伙伴请认真阅读我以下内容,通过 docker-compose 部署的服务主要是用最少的资源和时间成本快速部署服务,方便小伙伴学习、测试、

    2024年02月09日
    浏览(35)
  • Centos 7 部署Docker CE和docker-compose教程

    ①、安装依赖包 ②、设置yum源 ③、生成并更新系统中的软件包缓存 ④、安装、启动、并设置Docker开机自启 Docker 启动命令 Docker 容器命令 Docker 镜像命令 可选。Docker 官方提供的默认镜像源位于海外,可能下载会很慢,可以通过配置国内的镜像源,加速下载。 ①、使用文本编

    2024年02月07日
    浏览(35)
  • 通过 docker-compose 快速部署 MySQL保姆级教程

    MySQL 是一种开源的关系型数据库管理系统( RDBMS ),以其快速、可靠和易于使用而受到广泛的欢迎。 MySQL 使用 SQL (结构化查询语言)进行查询、管理和操作数据。 MySQL 是一种跨平台的数据库,支持在各种操作系统(如 Windows、Linux、MacOS 等)上运行。 MySQL 中的重要概念包括

    2024年02月04日
    浏览(36)
  • 如何使用Docker部署MongoDB并结合内网穿透实现远程访问本地数据库

    正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能 学习网站, 通俗易懂,风趣幽默 ,忍不住分享一下给大家。 点击跳转到网站。 本文主要介绍如何在Linux Ubuntu系统使用Docker快速部署MongoDB,并结合cpolar内网穿透工具实现公网远程访问本地数据库。 MongoDB服务

    2024年02月22日
    浏览(59)
  • 【大数据】通过 docker-compose 快速部署 ClickHouse 保姆级教程

    ClickHouse是一种 高性能、列式存储的分布式数据库管理系统 。它专注于快速数据分析和查询,并且在大规模数据集上表现出色。 在ClickHouse中,数据按列存储而不是按行存储。这种存储方式有许多优点,特别适合分析工作负载。下面是一些与列数据存储相关的关键概念和特点

    2024年02月07日
    浏览(37)
  • 【大数据】通过 docker-compose 快速部署 MinIO 保姆级教程

    MinIO 是一个开源的 对象存储服务器 ,它兼容 Amazon S3(Simple Storage Service)API 。它被设计用于构建分布式存储架构,提供高可用性、高性能和可扩展的对象存储解决方案。 下面是MinIO的一些主要特点和功能: 对象存储 :MinIO以对象为基本存储单元,可以存储和管理任意大小的

    2024年02月15日
    浏览(33)
  • 【中间件】通过 docker-compose 快速部署 Kafka 保姆级教程

    Kafka是由Apache基金会开发的分布式流处理平台,采用发布-订阅模式,支持高吞吐量、低延迟的数据传输。主要用于处理实时数据管道、数据存储和数据分析等大数据应用场景。Kafka采用高效的数据压缩算法,可以在集群中存储大量的数据,并通过分区机制来实现数据的高可靠

    2024年02月12日
    浏览(37)
  • docker、docker-compose、Https部署Minio,去除Minio文件过期时间教程

    系统:CentOS7 Docker:v24.0.7 DockerCompose:v2.23.1 Docker Minio镜像 minio/minio:RELEASE.2022-04-16T04-26-02Z ,版本再高一些的上传文件后服务器保存的不是xxx.png格式的图片,而是一个以图片名命名的目录,里面是一些看不懂的文件。不知道新版本怎么改能正常显示图片。 如果Https部署,需要

    2024年02月04日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包