Docker Cron Jobs — Run Scheduled Tasks in Containers
0 0 * * *Every day at 12:00 AM
Next 10 Executions
Times shown in UTC
- Tue, May 19, 202600:00
- Wed, May 20, 202600:00
- Thu, May 21, 202600:00
- Fri, May 22, 202600:00
- Sat, May 23, 202600:00
- Sun, May 24, 202600:00
- Mon, May 25, 202600:00
- Tue, May 26, 202600:00
- Wed, May 27, 202600:00
- Thu, May 28, 202600:00
Field Breakdown
0Minute
0
0Hour
0
*Day of Month
Every day
*Month
Every month
*Day of Week
Every day of week
About This Schedule
Running cron jobs in Docker containers uses standard 5-field cron syntax, but requires some container-specific setup.
Common approaches:
1. Cron inside the container:
FROM alpine:latest
RUN apk add --no-cache dcron
COPY crontab /etc/crontabs/root
CMD ["crond", "-f", "-d", "8"]2. Docker host cron calling docker exec:
0 0 * * * docker exec my-container /app/daily-job.sh3. Using a sidecar scheduler (like Ofelia or supercronic):
services:
scheduler:
image: mcuadros/ofelia:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sockKey considerations:
- Container cron doesn't have access to environment variables by default
- Logs go to container stdout/stderr
- Use
supercronicfor better container-native cron behavior - For Kubernetes, use CronJobs instead of in-container cron