I have a simple question hopefully; I'm new to Docker and Linux. Most of the articles/stackoverflow posts suggest installing cron INSIDE the docker container to get it to work as can be seen at this link
However, based on the picture attached below, we can see that the Docker Engine is an abstraction layer between the HOST OS's system and utility libraries and the application container.
Why are we not REUSING the system cron that comes with the HOST instead of installing cron INSIDE the container? It almost feels redundant.
My understanding of docker is you'd install application level libraries and packages like npm node modules INSIDE your nodejs app container for example but if you need a system utility like cron, then you would somehow call back out to the HOST OS's native cron utility; so why not use the HOST's cron within our container somehow, why reinstall cron inside the container?
Lastly, would you use docker-compose instead and separate out the cron service into its own container
then somehow have the cron service talk to the application container and referencing its environment vars?
I mean the environment variables defined in the app container; making those accessible to the cron container? So that we may follow best practice of one service per container?