在 docker 环境中,我们需要为 localhost 数据库连接设置密码吗?

在 docker 环境中,我们需要为 localhost 数据库连接设置密码吗?

我的问题与我的特定环境有关:我在 docker 容器中运行 Web 应用程序,并在另一个容器中运行数据库。

我使用 docker compose 来运行两个容器:

  • 我的 Web 应用程序链接到与所有其他应用程序容器和我的代理容器(绑定到主机接口)共享的网络
  • 我的数据库容器链接到一个特定网络,该网络仅在我的 Web 应用程序容器和我的数据库容器之间共享

我已经在两个容器之间设置了密码验证。但现在回想起来,我想知道它在这种情况下是否真的有用。

由于我的应用程序容器和数据库容器之间的网络是由docker构建的,因此没有其他容器可以连接到它并尝试访问我的数据库。那么为什么要设置密码呢?

我想我的问题与 docker 特定网络提供的安全性有关,但我实际上不知道它是如何工作的。

如有任何建议我将不胜感激。

答案1

但现在,我回想起来,想知道它在这种情况下是否真的有用。

是的,当然。你为什么会不是使用密码?安全的关键在于纵深防御。当然,您的数据库可能受到多个不同级别的防火墙保护,但仍然建议使用密码。凭证的创建和管理很简单,实际上没有任何缺点。

我想我的问题与 docker 特定网络提供的安全性有关,但我实际上不知道它是如何工作的。

这是一个很大的危险信号。如果你不知道某种技术是如何工作的:1) 你无法假设它有多安全;2) 在你理解它之前,你不应该使用该技术。

相关内容