是否建议将Database用作生产环境中的容器?

Shr*_*kar 14 database containers production-environment docker microservices

假设我们正在为产品使用微服务架构,我们决定使用"每服务数据库"模型,并由AWS等提供商部署在云服务器中.将数据库作为开发和测试环境的容器运行是很方便的.

但是同样可以在生产环境中实施!如果是这样,它会有多安全?或者将云解决方案作为AWS RDS-DB使用是恰当的!!

Ber*_*ard 6

我们将生产中的数据库容器化(本地企业应用程序)。很多。它非常稳定,部署也大大简化了。当然,我们的数据库没有压力。我们正在处理数百个并发用户,而不是数万个。我们只需要确保容器具有足够的RAM并受到良好的监控即可。

如果确实需要将整个VM单独用于db,那么我会跳过docker。


Ric*_*ard 6

这篇博文列出了不应在容器中运行生产数据库的一些原因。它还引用了另一篇博客文章,描述了更新 docker 和不稳定存储驱动程序的问题。

对我来说,这里的要点归结为:

  • 狡猾的存储驱动程序。当您将数据库状态写入主机系统时,这可能不是问题,但 Docker 例如明确鼓励用户为此使用卷(请参阅文档:引文:“卷是在 Docker 中持久保存数据的最佳方式”) . 在正常情况下它可能会正常工作,但是例如电源故障或读取错误等边缘情况呢?

  • 在生产中管理数据库很困难。许多公司聘请全职 DBA 来确保生产数据库的顺利运行。DevOps 范式(每个开发人员在容器中创建过多的数据库服务器)使得 DBA 几乎不可能完成他的工作。也就是说,如果 DBA 甚至可以访问这些 DB。

总结:容器适用于某些任务,而对于其他任务则是个坏主意。在容器中运行生产数据库是这些坏主意之一。

  • 2022 年这个答案的状态如何 (5认同)

小智 0

根据下面的链接,在生产中使用数据库容器不是一个好主意。但正如我所经历的;如果您将容器与应用程序隔离并定期更新容器并管理网络内容,那么似乎没有问题。

链接:https://www.quora.com/Is-it-not-advisable-to-use-database-in-Docker-container