docker - no crontab for root
Solution 1:
It's an issue with the dockerfile (rather than the commands in the file).
Only one CMD
is run (the last one) - see https://docs.docker.com/engine/reference/builder/#cmd
There can only be one CMD instruction in a Dockerfile. If you list more than one CMD then only the last CMD will take effect.
Solution 2:
As the other answers have already explained, only one CMD
will be run per Dockerfile and the command you want to run is wrong.
But there is a more pressing issue with your setup IMO - Docker containers are not usually designed to work this way. What you should do instead is running the cron services from the host (or your orchestrator) as one-off processes (probably using something like docker run
or docker-compose run
, or, if for some reason you don't want to start a separate container for this, I guess you could use docker exec
).
This is just my view on how containers should be used though, so obviously you should take it with a grain of salt.