Docker Compose安装MongoDB,并向宿主机映射数据文件/配置文件/日志文件

简介: 本文为博主实践Docker Compose方式安装MongoDB记录,希望对大家有所帮助。

🍀配置docker-compose.yml

新建存放mongodb数据的文件夹

mkdir -p ~/mongodb

创建docker-compose.yml文件

vim docker-compose.yml
# 按 i 进入编辑模式,输入以下内容
version: '3.8'
services:
  mongo:
    image: mongo:5 # 选择mongodb版本
    restart: always  # 自启动
    ports:
     - 27017:27017 # 映射宿主机端口
    volumes:
     - /docker/mongodb/data/db:/data/db    # 挂载数据文件,根据实际路径修改 :前的路径
     - /docker/mongodb/data/log:/var/log/mongodb  # 挂载日志文件,根据实际路径修改 :前的路径
     - /docker/mongodb/data/config:/etc/mongo  # 挂载配置文件,根据实际路径修改 :前的路径
# 按 esc 键,再输入 :wq ,回车退出vim

启动mongodb

# 在docker-compose.yml文件路径下,该方式退出终端失效
docker-compose up

# 后台启动
docker-compose up -d

若使用mongodb默认配置,到此已经完成mongodb安装。若需要修改mongodb启动配置可继续参考下文。

🍀修改mongodb启动配置

创建存放配置文件的文件夹

mkdir -p ~/mongodb/conf

创建配置文件 mongod.conf

cd ~/mongodb/conf
vim mongod.conf

#按 i 进入编辑模式,输入以下内容

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /data/db
  journal:
    enabled: true
  directoryPerDB: true
  engine: wiredTiger
  wiredTiger:
    engineConfig:
      cacheSizeGB: 8
      directoryForIndexes: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#replication:
replication:
   oplogSizeMB: 51200
   replSetName: rs0

在之前创建的docker-compose.yml文件增加一行配置


cd ~/mongodb
vim docker-compose.yml
# 按 i 进入编辑模式,输入以下内容
version: '3.8'
services:
  mongo:
    image: mongo:5 # 选择mongodb版本
    restart: always  # 自启动
    ports:
     - 27017:27017 # 映射宿主机端口
    volumes:
     - /docker/mongodb/data/db:/data/db    # 挂载数据文件,根据实际路径修改 :前的路径
     - /docker/mongodb/data/log:/var/log/mongodb  # 挂载日志文件,根据实际路径修改 :前的路径
     - /docker/mongodb/data/config:/etc/mongo  # 挂载配置文件,根据实际路径修改 :前的路径
    command: --config /docker/mongodb/mongod.conf # 配置文件
# 按 esc 键,再输入 :wq ,回车退出vim

再启动就可以啦

cd ~/mongodb
docker-compose up -d

🍀进入mongodb终端窗口

Docker Compose 启动时会使用目录名(mongodb)作为项目名称,Docker Compose 会将所有的资源名称中加上前缀 mongodb-。

docker exec -it mongodb-mongo-1 mongo
目录
相关文章
|
6月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
194 2
|
9月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
7月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1174 3
docker 安装 Postgres 17.6
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
743 6
|
6月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
567 2
|
9月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
3654 0
|
9月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
9月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
923 79
|
9月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
371 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
下一篇
开通oss服务