使用 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. 支持命令行/可视化工具直接连接使用
相关推荐
培小新2 小时前
五、Dokcer网络
linux·运维·docker·容器
杭州杭州杭州2 小时前
Docker实验2----4
运维·docker·容器
莫白媛3 小时前
Linux中Docker介绍与使用小白篇
linux·运维·docker
河码匠4 小时前
Kubernests YAML 详细之卷(PV、PVC、StorageClass)
云原生·容器·kubernetes
码上上班4 小时前
k8s控制器,daemonset
云原生·容器·kubernetes
F1FJJ4 小时前
一个 CLI 工具的开源迭代记录:从单二进制到全平台分发
网络·网络协议·docker·golang·开源·开源软件
码上上班4 小时前
k8s中安装metrics,实现hpa
容器·kubernetes·excel
春日见4 小时前
自动驾驶的四个演进阶段
开发语言·人工智能·驱动开发·matlab·docker·计算机外设
爬山算法5 小时前
MongoDB(55)如何监控分片集群?
数据库·mongodb