【Docker】MongoDB的访问控制 23号

你好,我是Mayumi。
我正在以系列文章的形式写关于Docker的内容。
在之前的文章中,我介绍了如何连接数据库和后端前端容器的方法。
在这篇文章中,我想要介绍一下对于数据库(使用MongoDB)进行访问控制的方法。
那么,我们就立即开始吧。
MongoDB的文档
MongoDB 的默认设置是任何人都可以访问。
让我们在文档中查看如何控制对MongoDB的访问。

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镜像文档中也包含了如何运行的示例,我将摘录并附上。

需要修改连接到MongoDB的Node源代码。
接下来,需要重写与MongoDB连接的Node源代码。
让我们看一下MongoDB的文档。

以下是如下的说明

如果按照上述所述执行后出现错误,请继续查看下面的部分。
引发错误的原因
如果按照上述方式操作却出现错误,最可能的原因是“音量”。
在最后阶段出现错误的人
docker volume ls
请尝试显示一下音量列表。
如果有音量存在,请尝试删除一次然后再试一次。
docker volume rm
可以通过删除来进行。
如果发生错误,但原因可能是其他的话,请试着找出其他的可能原因吧。<( _ _ )>
总结
在本文中,我們談論了數據庫的訪問控制。
这次,我最辛苦的地方是在出现错误时,解决方法很难找到。
希望我的经验能对大家有所帮助。