Single Container, Single Process
As you might already know, there's a slogan in the Docker community called "Single Container, Single Process" and recently it's upgraded to "Single Container, Single Concern" and it's been a roadmap to distinguish jobs on a micro-service based architecture and to keeps things clean.
But how would you describe "concern"? Assume there's a RabbitMQ consumer up and running via a docker container. What's the best approach to scale consumers in this scenario? Would you recommend to add identical containers horizontally or having concurrent consumers wrapped inside one container?