# 使用 Docker 部署 MongoDB | 仲夏夜之梦
本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。 在 Ubuntu 上部署 MongoDB:4.2 实例 我们先拉取 MongoDB:4.2 镜像： 创建一个目录用于存储 MongoDB 数据： 启动 MongoDB 容器： 命令详解： --restart=always：容器重启时自动启动。 -itd：交互式模式运行容器，后台模...

Skip to content

# 使用 Docker 部署 MongoDB

约 355 字大约 1 分钟

2025-12-24

本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。

## 在 Ubuntu 上部署 MongoDB:4.2 实例

我们先拉取 MongoDB:4.2 镜像：

    docker pull mongo:4.2

创建一个目录用于存储 MongoDB 数据：

    mkdir -p /data/mongo/

启动 MongoDB 容器：

    sudo docker run --restart=always -itd --name mongo -p 27018:27017 -v /data/mongo/:/data/db  mongo:4.2 --auth

命令详解：

- `--restart=always`：容器重启时自动启动。
- `-itd`：交互式模式运行容器，后台模式。
- `--name mongo`：为容器命名为 mongo。
- `-p 27018:27017`：将主机的 27018 端口映射到容器的 27017 端口。
- `-v /data/mongo/:/data/db`：将主机的 /data/mongo/ 目录挂载到容器的 /data/db 目录，用于持久化存储数据。
- `mongo:4.2`：使用 MongoDB:4.2 镜像。
- `--auth`：启用身份验证功能。

进入 MongoDB 容器：

    docker exec -it mongo mongo admin

### 在 MongoDB 容器中创建管理员用户

先进入 admin 数据库

    use admin;

创建管理员用户 admin, 密码 root, 角色为 root。

    db.createUser( { user: "root", pwd: "root", roles:['root'] });

退出 MongoDB 容器：

    exit

使用 root 用户进行登录

    docker exec -it mongo mongo admin -u root -p root

这里还能创建一个 admin 用户，用密码 admin，角色为 readWriteAnyDatabase, dbAdminAnyDatabase。

    db.createUser( { user: "admin", pwd: "admin", roles:['readWriteAnyDatabase','dbAdminAnyDatabase'] } );

验证用户，这里会登录到 admin

    db.auth("admin","admin");

删除用户的话可以使用，注意这里要切换回 root 用户

    db.dropUser("admin");