MongoDB 使用 docker-compose 创建带有用户名和密码的 MongoDB 容器

MongoDB 使用 docker-compose 创建带有用户名和密码的 MongoDB 容器

在本文中,我们将介绍如何使用 docker-compose 创建一个带有用户名和密码的 MongoDB 容器。MongoDB 是一个开源的文档数据库,它可以存储和检索大量的数据,并提供高可用性和可扩展性。而 docker-compose 是一个用于定义和运行多容器 Docker 应用的工具。

阅读更多:MongoDB 教程

安装 Docker 和 Docker Compose

在开始之前,我们需要先安装 Docker 和 Docker Compose。Docker 是一个开源的容器化平台,可以让我们轻松地构建、部署和运行应用程序。Docker Compose 是 Docker 官方提供的一个独立于 Docker 引擎的工具,可以通过一个 YAML 文件来定义和管理多个容器的应用。

你可以在 Docker 官方网站上找到适合你操作系统的安装程序,并按照说明进行安装。

创建 docker-compose.yml 文件

首先,我们需要创建一个名为 docker-compose.yml 的文件,并在其中定义我们的 MongoDB 容器。以下是一个示例的 docker-compose.yml 文件:

version: '3'

services:
  mongodb:
    container_name: my-mongodb
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: password
    ports:
      - 27017:27017
    volumes:
      - ./data:/data/db
YAML

在这个文件中,我们定义了一个名为 mongodb 的服务,并使用 mongo 镜像作为容器。我们同时指定了容器的名称为 my-mongodb,并将容器的 27017 端口映射到主机的 27017 端口。我们还指定了一个 Docker 卷将主机的 ./data 目录挂载到容器的 /data/db 目录,以便持久化存储数据。

另外,我们使用了 environment 部分来设置 MongoDB 的用户名和密码。在本例中,我们将用户名设置为 admin,密码设置为 password。你可以根据实际需求修改这些值。

启动 MongoDB 容器

在创建完 docker-compose.yml 文件后,我们可以使用以下命令来启动 MongoDB 容器:

docker-compose up -d
Bash

这个命令将会在后台启动一个名为 my-mongodb 的容器,并根据 docker-compose.yml 文件中的配置进行初始化。如果一切顺利,你应该可以看到容器已成功启动的信息。

连接到 MongoDB 容器

一旦 MongoDB 容器启动成功,我们就可以使用客户端工具连接到容器中的 MongoDB 实例了。可以通过以下命令连接到容器中的 MongoDB:

mongo --host localhost --port 27017 -u admin -p password --authenticationDatabase admin
Bash

这个命令会使用用户名 admin 和密码 password 连接到 localhost 上的 MongoDB 服务器。如果一切正常,你应该会看到 MongoDB 的命令行提示符,表示已经成功连接到容器中的 MongoDB。

进行 MongoDB 操作

一旦我们成功连接到 MongoDB 容器,我们就可以进行各种 MongoDB 操作了。以下是一些示例操作:

创建数据库

use mydatabase
Bash

这个命令将切换到名为 mydatabase 的数据库。如果该数据库不存在,则会自动创建。

创建集合并插入文档

db.mycollection.insertOne({name: "John", age: 30})
Bash

这个命令将在当前数据库中的 mycollection 集合中插入一个文档。

查询文档

db.mycollection.find()
Bash

这个命令将返回 mycollection 集合中的所有文档。

更新文档

db.mycollection.updateOne({name: "John"}, {$set: {age: 31}})
Bash

这个命令将更新 mycollection 集合中 name 为 “John” 的文档的 age 字段为 31。

删除文档

db.mycollection.deleteOne({name: "John"})
Bash

这个命令将删除 mycollection 集合中 name 为 “John” 的文档。

停止和删除容器

如果你想要停止和删除 MongoDB 容器,可以使用以下命令:

docker-compose down
Bash

这个命令将停止和删除由 docker-compose 启动的容器。

总结

本文介绍了如何使用 docker-compose 创建一个带有用户名和密码的 MongoDB 容器。我们首先创建了一个 docker-compose.yml 文件,并在其中定义了 MongoDB 容器的配置。然后,我们使用 docker-compose up -d 命令启动了容器,并通过 mongo 命令连接到了容器中的 MongoDB 实例。之后,我们演示了一些常见的 MongoDB 操作。最后,我们使用 docker-compose down 命令停止和删除了容器。

希望本文能帮助你快速搭建一个安全可靠的 MongoDB 容器!如果你有任何问题或疑问,请随时提问。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册