Настройка crontab с помощью docker в django
Я хочу запустить задание cron и у меня есть docker envrioment, но, к сожалению, corn не работает.
Dockerfile
FROM python:3
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# COPY ./core /app
WORKDIR /app
EXPOSE 8000
COPY ./core/ /app/
COPY ./scripts /scripts
RUN pip install --upgrade pip
COPY requirements.txt /app/
RUN apt-get update && apt-get install -y cron && service cron start && \
pip install -r requirements.txt && \
adduser --disabled-password --no-create-home app && \
mkdir -p /vol/web/static && \
mkdir -p /vol/web/media && \
chown -R app:app /vol && \
chmod -R 755 /vol && \
chmod -R +x /scripts
USER app
CMD ["/scripts/run.sh"]
settings.py
INSTALLED_APPS = (
'django_crontab',
...
)
# Cron Jobs
CRONJOBS = [
('* * * * *', 'projects.cron.notifications_cron', '>> /var/log/cron.log')
]
cron.py
:
def notifications_cron():
print("hello from cron")
Когда я проверяю статус cron в моем контейнере docker, он выдает мне следующую ошибку:
app@40e4b7a671cd:/app$ service cron status
cron is not running ... failed!
python manage.py crontab show
app@40e4b7a671cd:/app$ python manage.py crontab show
Currently active jobs in crontab:
822cc1d53a9bdce5e2b3a94a98bdb284 -> ('* * * * *', 'projects.cron.notifications_cron', '>> /var/log/cron.log')
Я не могу понять, в чем проблема