so I think a better explanation is 'you should only run one command per container.'
Sometimes that involves using one container that you tightly control to do a bunch of different things -- e.g.: "fedora".
You may use a base (fully loaded) fedora container to run apache in one container, (fedora:httpd), mysql in another (fedora:mysql), and something like tomcat (fedora:tomcat).
The alternative, preferred in some (most?) instances, is to use something like Alpine and bake in the bare minimum of everything for every process.
When folks run a bunch of stuff in one container it's typically using something like circus or supervisord running at pid 1.
Sometimes that involves using one container that you tightly control to do a bunch of different things -- e.g.: "fedora".
You may use a base (fully loaded) fedora container to run apache in one container, (fedora:httpd), mysql in another (fedora:mysql), and something like tomcat (fedora:tomcat).
The alternative, preferred in some (most?) instances, is to use something like Alpine and bake in the bare minimum of everything for every process.
When folks run a bunch of stuff in one container it's typically using something like circus or supervisord running at pid 1.