使用 Docker Compose 快速安装 MongoDB

一、准备工作

  1. 确保你的服务器/电脑已安装 DockerDocker Compose
  2. 创建一个专用文件夹(方便管理):
bash 复制代码
mkdir mongodb && cd mongodb

二、创建 docker-compose.yml 配置文件

mongodb 文件夹下创建 docker-compose.yml 文件,复制以下配置(支持用户名密码认证、数据持久化、端口映射):

yaml 复制代码
services:
  mongodb:
    # 官方MongoDB镜像
    image: mongo:latest
    # 容器名称
    container_name: mongodb
    # 重启策略:开机自启
    restart: always
    # 环境变量(配置用户名密码)
    environment:
      # 管理员用户名(自行修改)
      MONGO_INITDB_ROOT_USERNAME: admin
      # 管理员密码(务必修改为强密码)
      MONGO_INITDB_ROOT_PASSWORD: 123456
      # 初始化数据库名称
      MONGO_INITDB_DATABASE: admin
    # 端口映射:主机端口:容器端口
    ports:
      - "27017:27017"
    # 数据持久化(容器删除数据不丢失)
    volumes:
      - ./data:/data/db
      - ./config:/data/configdb
    # 关键配置:允许所有IP访问
    command: mongod --bind_ip 0.0.0.0

配置说明

  • image: mongo:latest:使用最新版 MongoDB,也可指定版本(如 mongo:6.0mongo:5.0
  • MONGO_INITDB_ROOT_USERNAME:超级管理员账号
  • MONGO_INITDB_ROOT_PASSWORD:超级管理员密码(必须修改
  • volumes:挂载本地目录,保证数据不会随容器删除而丢失
  • ports: 27017:27017:主机 27017 端口映射到容器 MongoDB 端口

三、启动 MongoDB

docker-compose.yml 所在目录执行命令:

bash 复制代码
# 后台启动(-d 表示守护进程)
docker compose up -d

四、常用管理命令

bash 复制代码
# 查看容器运行状态
docker compose ps

# 查看日志
docker compose logs -f

# 停止MongoDB
docker compose stop

# 重启MongoDB
docker compose restart

# 彻底删除容器(数据不会删除,因为挂载到本地了)
docker compose down

五、连接测试

1. 命令行连接(进入容器内部)

bash 复制代码
docker exec -it mongodb mongosh -u admin -p 123456

2. 可视化工具连接(Navicat/MongoDB Compass)

  • 主机:你的服务器IP
  • 端口:27017
  • 用户名:admin
  • 密码:123456
  • 认证数据库:admin

总结

  1. 只需创建一个 docker-compose.yml 配置文件
  2. 执行 docker compose up -d 一键启动
  3. 数据持久化、用户名密码、开机自启全部配置完成
  4. 支持命令行/可视化工具直接连接使用
相关推荐
宋均浩6 小时前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵1 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1111 天前
LM Studio Docker 部署——本地大模型一键启动
docker
葫芦和十三1 天前
图解 MongoDB 08|ESR 原则:复合索引的字段顺序怎么定
后端·mongodb·agent
葫芦和十三2 天前
图解 MongoDB 07|索引类型:七种索引,七种访问形状
后端·mongodb·agent
曲幽2 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
葫芦和十三2 天前
图解 MongoDB 06|模式演进:无 schema 是优势还是债
后端·mongodb·agent
葫芦和十三3 天前
图解 MongoDB 05|文档模型设计:内嵌 vs 引用,反范式不是免费午餐
后端·mongodb·agent
葫芦和十三3 天前
图解 MongoDB 03|CRUD 全链路:一条 find 怎么穿过 WiredTiger
后端·mongodb·agent
葫芦和十三4 天前
图解 MongoDB 04|索引模型:每建一个索引,就是在 B+-tree 森林里多栽一棵
后端·mongodb·agent