当前位置: 首页 > news >正文

Docker 部署 MongoDB 并持久化数据

Docker 部署 MongoDB 并持久化数据

在现代开发中,MongoDB 作为 NoSQL 数据库广泛应用,而 Docker 则提供了高效的容器化方案。本教程将介绍如何使用 Docker 快速部署 MongoDB,并实现数据持久化,确保数据不会因容器重启或删除而丢失。


1. 准备环境

1.1 安装 Docker 和 Docker Compose

如果你的系统尚未安装 Docker 和 Docker Compose,可以参考以下命令进行安装。

Ubuntu/Debian
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker
CentOS
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
sudo yum install -y epel-release
sudo yum install -y python3-pip
pip3 install docker-compose
验证 Docker 版本
docker --version
docker-compose --version

2. 创建 MongoDB 数据存储目录

为了实现持久化存储,我们需要在宿主机上创建一个目录,用于存放 MongoDB 数据。

mkdir -p /home/middleware/mongodb/data

该目录会被映射到 Docker 容器内的 /data/db,确保 MongoDB 重启后数据不会丢失。


3. 使用 Docker Compose 部署 MongoDB

/home/middleware/mongodb 目录下创建 docker-compose.yml 文件:

version: '3.8'  # 指定 Docker Compose 版本

services:
  mongodb:  # 定义 MongoDB 服务
    image: mongo  # 使用官方 MongoDB 镜像
    container_name: mongo  # 指定容器名称
    restart: always  # 确保容器在崩溃或重启后自动恢复
    ports:
      - "27017:27017"  # 映射宿主机的 27017 端口到容器
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin  # 设置管理员用户名
      MONGO_INITDB_ROOT_PASSWORD: admin123  # 设置管理员密码
    volumes:
      - /home/middleware/mongodb/data:/data/db  # 数据持久化

4. 启动 MongoDB 容器

执行以下命令启动 MongoDB 容器:

cd /home/middleware/mongodb
docker-compose up -d

-d 选项表示以 后台模式 运行。

检查容器是否运行

docker ps | grep mongo

如果看到 mongo 容器在运行,则说明部署成功。


5. 连接 MongoDB

5.1 使用 Docker 进入 MongoDB 容器

docker exec -it mongo mongosh -u admin -p admin123 --authenticationDatabase admin

5.2 通过 MongoDB 客户端连接

如果你使用的是 MongoDB Compass 或其他客户端,可以使用以下连接字符串:

mongodb://admin:admin123@localhost:27017/

6. 测试数据持久化

  1. 创建数据库并插入数据
use testDB
db.testCollection.insertOne({ name: "Hello MongoDB" })
  1. 删除容器
docker-compose down
  1. 重新启动 MongoDB 容器
docker-compose up -d
  1. 验证数据是否仍然存在
use testDB
db.testCollection.find()

如果数据仍然存在,则表明 MongoDB 数据持久化成功!🎉


7. 停止 & 删除 MongoDB 容器

如果你想停止 MongoDB 容器,可以执行:

docker-compose down

如果你要彻底删除容器及其数据,执行:

rm -rf /home/middleware/mongodb

8. 总结

至此,我们已经成功使用 Docker Compose 部署了 MongoDB,并实现了数据持久化,保证容器重启或删除后数据仍然保留。

📌 关键步骤回顾:

  1. 安装 Docker 和 Docker Compose
  2. 创建数据存储目录 /home/middleware/mongodb/data
  3. 编写 docker-compose.yml 配置文件
  4. 使用 docker-compose up -d 启动 MongoDB
  5. 连接 MongoDB 并验证数据存储
  6. 测试数据持久化功能

💡 优势:
✅ 快速部署,简化环境配置
✅ 使用 Docker 容器隔离,避免污染本机系统
✅ 持久化存储数据,确保数据安全

相关文章:

  • Linux上位机开发(开篇)
  • golang从入门到做牛马:第二篇-go语言安装及开发环境配置
  • Nginx快速安装-Linux-CentOS7
  • 【A2DP】SBC 编解码器互操作性要求详解
  • 2025最新群智能优化算法:山羊优化算法(Goat Optimization Algorithm, GOA)求解23个经典函数测试集,MATLAB
  • BGP 基本配置实验
  • 在Windows 11的WSL中安装Kali Linux
  • Linux笔记---自定义shell
  • lvgl在ubuntu中模拟运行
  • 【商城实战(13)】购物车价格与数量的奥秘
  • 小程序 wxml 语法 —— 42 条件渲染
  • 【小技巧】百度网盘清除重复文件详细步骤
  • 论文阅读方法
  • 【CVPR2025】 EVSSM:用状态空间模型高效去模糊
  • [密码学实战]Java实现国密TLSv1.3单向认证
  • 在html中如何给标签的title=“换行的方法“
  • 【linux网络编程】端口
  • Electron打包工具对比
  • AI 驱动的软件测试革命:从自动化到智能化的进阶之路
  • 如何用Python开发一个功能全面的Markdown编辑工具
  • 1元做网站方案/哪个公司的网站制作
  • 北京大兴专业网站建设公司/今日头条网站推广
  • 广告电商怎么做/seo推广费用
  • 网站开发资质/南宁seo优势
  • 常德网络建站/江西优化中心
  • 租号网站咋做/地推拉新app推广接单平台