Layers vs parallel containers philosophy

Hi,

I’m trying to understand the docker philosophy a bit better. Let’s say I have a simple website that runs on nginx and php-fpm. I could either run a php container and an nginx container in parallel (possibly using docker-compose) and connect them using TCP or a socket file, or I could create a container which runs both.

Let’s say that there are no other services using either the php-fpm or nginx webserver (as far as I understand, every service should have their own anyway?), what arguments would be in favour of a parallel setup and when should i prefer the layered approach?