使用 Docker 安装 MongoDB 并设置默认用户密码

在这篇文章中,我们将学习如何在 Docker 中安装 MongoDB,并设置默认用户和密码。我们将逐步进行,并为每一步提供必要的代码和相应的说明。

实施步骤概览

以下是实现此任务的主要步骤:

步骤编号 描述 代码
1 拉取 MongoDB 镜像 docker pull mongo
2 创建 MongoDB 容器 docker run ...
3 进入 MongoDB 容器 docker exec -it ...
4 设置用户和密码 mongo ...
5 验证用户和密码 mongo --username ...

步骤详解

1. 拉取 MongoDB 镜像

首先,我们需要从 Docker Hub 拉取 MongoDB 镜像。打开终端并执行以下命令:

docker pull mongo
  • 解释:这个命令将从 Docker Hub 下载最新的 MongoDB 镜像。如果你需要特定版本,可以在命令中指定版本号,例如 mongo:5.0

2. 创建 MongoDB 容器

接下来,我们将创建并运行一个 MongoDB 容器。下面的命令会创建一个名为 my-mongo 的容器,并且设置默认用户和密码。

docker run --name my-mongo -d -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=secret mongo
  • 解释
    • --name my-mongo:为我们的容器命名为 my-mongo
    • -d:表示以守护进程模式运行容器。
    • -e:设定环境变量,即创建一个初始的 MongoDB 用户名和密码。

3. 进入 MongoDB 容器

如果需要对容器内的 MongoDB 进行进一步的操作,可以使用以下命令进入容器:

docker exec -it my-mongo mongo -u admin -p secret --authenticationDatabase admin
  • 解释
    • exec:在运行中的容器内执行命令。
    • -it:交互模式,允许我们与容器进行交互。
    • mongo -u admin -p secret:以 admin 用户和 secret 密码连接 MongoDB。

4. 设置用户和密码

连接到 MongoDB 后,我们可以创建更多的用户,使用以下命令:

use myDatabase;
db.createUser({
  user: "myUser",
  pwd: "myPassword",
  roles: [{ role: "readWrite", db: "myDatabase" }]
});
  • 解释
    • use myDatabase:切换到 myDatabase 数据库。
    • db.createUser({...}):创建一个新用户 myUser,密码为 myPassword,并赋予其对 myDatabase 的读写权限。

5. 验证用户和密码

为了验证用户和密码,可以断开连接并尝试使用新用户连接:

mongo -u myUser -p myPassword --authenticationDatabase myDatabase
  • 解释:这个命令使用我们刚才创建的用户和密码连接到 myDatabase

甘特图

在实现过程中,以下是我们的计划时间线:

gantt
    title Docker 安装 MongoDB 流程
    dateFormat  YYYY-MM-DD
    section Install
    拉取 MongoDB 镜像       :a1, 2023-10-01, 1d
    section Run
    创建 MongoDB 容器        :a2, after a1, 1d
    section Access
    进入 MongoDB 容器        :a3, after a2, 1d
    section Setup
    设置用户和密码          :a4, after a3, 1d
    验证用户和密码          :a5, after a4, 1d

结论

通过上述步骤,我们成功在 Docker 中安装了 MongoDB,并设置了默认用户和密码。记住,在实际应用中使用的密码应该更加复杂,以确保安全性。随着对 Docker 和 MongoDB 的深入了解,你将能够更灵活地配置和管理数据库。希望这对你的学习有所帮助,祝你开发顺利!