在使用 Docker 设计应用程序基础架构和架构时,最佳实践是为每个“服务”创建一个容器还是为“服务”中的每个进程创建多个容器?
例如使用 Nginx、PHP-FPM、Redis、MySQL 和 ElasticSearch 的分布式 PHP 应用程序。
服务容器:
- Nginx + App + PHP-FPM(完整的应用程序作为“服务”容器)
- 雷迪斯
- MySQL
处理容器:
- Nginx
- 应用程序
- PHP-FPM
- 雷迪斯
- MySQL
从我的角度来看,使用“服务”容器方法似乎更易于维护,因为为每个进程管理如此多的谨慎容器可能会变得很麻烦。