Docker不应该用于数据库的原因是什么?
我正在和一个朋友讨论Docker用例。团队中的一个人想使用Docker来完成所有工作-就像一种通用的unix进程包装器。另外认为,应该多克仅用于无状态的类似应用微服务和AWS LAMBDA风格的应用程序。 我们为两者设计了概念证明。在我们的Docker集群上,我们有一个共享驱动器,该驱动器在Docker主机安装时就被挂载了,如果在容器中的数据库被挂载了,它只会将一个卷挂载到共享驱动器上。 尽管有相反的证据,我的朋友仍然坚持他的立场。(他还指出,Docker通过增加堆栈的复杂性而增加了不必要的风险。) 无论是出于同理心,还是与他更好地推理,我都试图倾听并理解他的观点。(我们都相处得很好-因此,这是疯狂和认真讨论的结合)。 问题背后的一种问题是:数据库是牛吗?此注释表明,对于数据库而言,良好的自动备份和检索策略与牛服务器是无法区分的。 我的问题是:为何不应该将Docker用于数据库? 编辑: 人们要求我阐明我的术语。我以为数据库应用程序位于容器中,而存储位于卷中。我的意思是,RDBMS位于容器中,而数据库存储位于卷中。 一些评论者建议docker卷驱动程序不能很好地处理数据库写入。(或类似的东西)。您能对此进行扩展吗?