使用 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. 支持命令行/可视化工具直接连接使用
相关推荐
摇滚侠4 小时前
Docker 如何查询挂载的目录
运维·docker·容器
头发够用的程序员5 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
胡小禾9 小时前
K8S常识-如何指定只更新一个deployment中的某一个实例
云原生·容器·kubernetes
江湖有缘9 小时前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
呆萌的代Ma10 小时前
docker内的n8n配置Code节点运行python代码
python·docker·容器
菜鸟分享录12 小时前
OpenClaw Docker一键部署(轻松实现多容器隔离)
docker·ai·openclaw·小龙虾
codeejun13 小时前
每日一Go-59、云原生入门为什么一定要学Docker?
docker·云原生·golang
赵鑫亿15 小时前
ClawPanel — 开源 OpenClaw 智能管理面板,20+ 通道接入 / 多模型配置 / Docker 一键部署
docker·容器·开源
杨云龙UP16 小时前
Windows Server 2012 环境下 Oracle 11.2 使用 expdp 实现自动备份、异地复制与定期清理_20260504
服务器·数据库·windows·mysql·docker·oracle·容器
切糕师学AI16 小时前
Docker CE 与 Docker Compose 详解:容器化引擎与多容器编排
docker·容器