Cómo iniciar el contenedor Docker solo después de que sale otro contenedor

Supongamos que tengo 2 contenedores: composer y php , que comparten la misma base de código, es decir, el mismo volumen. Y quiero administrarlos con un solo command de docker-compose up como docker-compose up .

Entonces la pregunta es ¿cómo puedo comenzar estos contenedores uno por uno, no al mismo time? Quiero decir, iniciar mi contenedor php solo después de que el composer haya salido, es decir, el contenedor del composer debería instalar todos los proveedores para mi contenedor php y salir, entonces y solo entonces el contenedor php debería iniciar un server web PHP incorporado con los proveedores ya instalados.

PD Ahora tengo el comportamiento de que ambos contenedores comienzan al mismo time. Entonces, mi contenedor php está intentando iniciar el server web sin proveedores, mientras que el contenedor del composer está tratando de instalar estos proveedores.

¿Hay una buena solución para este caso?