When designing application infrastructure & architecture using Docker, is it best practise to create one container per "service" or multiple containers for each process within a "service"?
For example a distributed PHP application that uses Nginx, PHP-FPM, Redis, MySQL and ElasticSearch.
Service containers:
- Nginx + App + PHP-FPM (complete app as a "service" container)
- Redis
- MySQL
Process Containers:
- Nginx
- App
- PHP-FPM
- Redis
- MySQL
From my perspective it seems more maintainable to use a "service" container approach as managing so many discreet containers for each process could become cumbersome.