Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I start cron on docker ubuntu base?

I have installed cron via apt-get install cron

Trying to start cron fails (as expected) because of upstart not running.

What is the command line for starting cron properly (i.e. it will read users' crontabs, will read /etc/crontab/* etc)?

Please note that I do not want to start the container as a "full" machine, so I don't want to run /sbin/init or upstart. I manage the processes via supervisord, so what I 'm missing is the command line to add to its configuration file.

like image 884
rollingBalls Avatar asked Dec 12 '13 13:12

rollingBalls


People also ask

Can you run cron in Docker container?

One way to create scheduled tasks for your containers is by using the host's crontab. Since the definition of each cron job allows you to execute commands, you can use Docker Engine in the same way you would the command line.


1 Answers

You can run cron without daemon mode.

root@xxxxxx:~# cron -f 

I was just trying to test it:

  • I started /bin/bash in a new container
  • apt-get install cron nano screen
  • getty tty -a root
  • screen, in screen I created 2 terminals:
  • first: cron -f
  • second: crontab -e - edit your crontab, save and you can watch that the cron is working ...
like image 97
Jiri Avatar answered Oct 19 '22 00:10

Jiri