Files
chill_notes/Docker/Docker 部署 MongoDB.md
2026-04-21 20:00:16 +08:00

2.0 KiB
Executable File
Raw Blame History

Docker 部署 MongoDB

1. 下载 MongoDB 镜像

docker pull mongo:latest

# 查看已下载的镜像
docker images mongo

2. 启动 MongoDB 容器

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -v $PWD/data:/data/db \
  mongo:latest

参数说明

参数 说明
-d 后台运行
--name mongodb 容器名称
-p 27017:27017 端口映射(主机:容器)
-v $PWD/data:/data/db 数据卷挂载,持久化存储

3. 配置认证(可选,推荐)

# 创建管理员账号
docker exec -it mongodb mongosh admin

# 在 mongosh 中执行
db.createUser({
  user: "admin",
  pwd: "你的密码",
  roles: [{ role: "root", db: "admin" }]
})

# 退出
exit

带认证启动

docker stop mongodb
docker rm mongodb

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -v $PWD/data:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=你的密码 \
  mongo:latest --auth

4. 连接测试

# 方式一:使用 mongosh 连接
docker exec -it mongodb mongosh --host 127.0.0.1

# 方式二:从另一容器连接
docker run -it --rm \
  --link mongodb:mongo \
  mongo:latest \
  mongosh --host mongo

# 方式三:从主机连接(需要安装 mongosh
mongosh mongodb://admin:密码@localhost:27017

看到以下提示说明部署成功:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

5. 常用管理命令

# 查看容器状态
docker ps | grep mongodb

# 查看日志
docker logs -f mongodb

# 进入容器
docker exec -it mongodb bash

# 停止/启动
docker stop mongodb
docker start mongodb

6. 数据备份与恢复

# 备份(数据在挂载的 $PWD/data 目录中)
tar -czvf mongodb-backup-$(date +%Y%m%d).tar.gz data/

# 恢复
tar -xzvf mongodb-backup-xxxxxxxx.tar.gz

参考:MongoDB Docker 官方文档