【Docker】MongoDB的访问控制 23号

パンプキン カフェ (9).png

你好,我是Mayumi。

我正在以系列文章的形式写关于Docker的内容。

在之前的文章中,我介绍了如何连接数据库和后端前端容器的方法。

在这篇文章中,我想要介绍一下对于数据库(使用MongoDB)进行访问控制的方法。

那么,我们就立即开始吧。

MongoDB的文档

MongoDB 的默认设置是任何人都可以访问。

让我们在文档中查看如何控制对MongoDB的访问。

2021-07-02_8-03-33.png

MongoDB的映像支持两个环境变量。

MONGO_INITDB_ROOT_USERNAME -> MongoDB 初始数据库根用户名
MONGO_INITDB_ROOT_PASSWORD -> MongoDB 初始数据库根密码

使用上述的两个环境变量,下面将详细介绍实施访问控制的具体方法。

使用-e选项执行容器。

那么,让我们使用上述的两个环境变量来实际设置用户名和密码,并运行MongoDB容器吧。

docker run -e MONGO_INITDB_ROOT_USERNAME=mayumi -e MONGO_INITDB_ROOT_PASSWORD=secret mongo

再者,由于Docker Hub 上的Mongo镜像文档中也包含了如何运行的示例,我将摘录并附上。

2021-07-02_8-16-39.png

需要修改连接到MongoDB的Node源代码。

接下来,需要重写与MongoDB连接的Node源代码。

让我们看一下MongoDB的文档。

2021-07-02_8-42-56.png

以下是如下的说明

2021-07-02_8-45-34.png

如果按照上述所述执行后出现错误,请继续查看下面的部分。

引发错误的原因

如果按照上述方式操作却出现错误,最可能的原因是“音量”。

在最后阶段出现错误的人

docker volume ls

请尝试显示一下音量列表。

如果有音量存在,请尝试删除一次然后再试一次。

docker volume rm

可以通过删除来进行。

如果发生错误,但原因可能是其他的话,请试着找出其他的可能原因吧。<( _ _ )>

总结

在本文中,我們談論了數據庫的訪問控制。

这次,我最辛苦的地方是在出现错误时,解决方法很难找到。

希望我的经验能对大家有所帮助。

bannerAds