一、准备工作
- 确保你的服务器/电脑已安装 Docker 和 Docker Compose
- 创建一个专用文件夹(方便管理):
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.0、mongo: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
总结
- 只需创建一个
docker-compose.yml配置文件 - 执行
docker compose up -d一键启动 - 数据持久化、用户名密码、开机自启全部配置完成
- 支持命令行/可视化工具直接连接使用