我有几十个我想要停靠的php应用程序。我想知道什么是最好的管理和性能设计。
包含所有服务的一个大容器(php-fpm,mysql,nginx等)
为所有服务分开容器:
一个服务容器,该服务托管所有应用程序:
我了解运行单独的容器可让您更改一个服务而不会影响另一个服务。您可以运行不同的php配置和扩展和版本,而无需担心其他服务受到影响。我的所有应用程序都是基于Wordpress的,因此配置将(或应该)全面一致。
现在我倾向于分离,但我不确定这是否是最好的方法。
你们有什么想法?
答案 0 :(得分:2)
您应该在容器中运行一个服务,这就是它的设计方式。所以1出了门。
如果你看三个,你的应用程序之间就会紧密耦合。如果你想迁移到app1的新php版本,或者在那里有不同的依赖,那你就麻烦了,所以这不是一个好的。
标准是2.每个服务一个容器。
答案 1 :(得分:0)
我见过的最常见的模式是每个应用程序一个单独的容器。话虽如此,相关容器彼此靠近但仍然不同也很有价值,因此在Kubernetes中使用了Pods的概念。
我建议每个应用程序使用一个容器。
答案 2 :(得分:0)
每个码头文档multi-service container:
通常建议您将关注的区域分开 每个容器使用一个服务。该服务可能会分成多个 进程(例如,Apache Web服务器启动多个worker 流程)。拥有多个流程是可以的,但要获得最大收益 从Docker中获益,避免一个容器负责 整个应用程序的多个方面。你可以连接多个 容器使用用户定义的网络和共享卷。
同样基于他们的best practices:
每个容器应该只有一个问题
将应用程序拆分为多个容器使其变得更加容易 水平扩展并重用容器。
我建议使用选项2(所有服务的单独容器)。