У меня есть скрипт на python, который заполняет базу данных Postgres в AWS.
Я могу запустить его вручную, и он загружает данные в базу данных без каких-либо проблем. Я хочу запускать его один раз каждые 5 минут в контейнере докера.
Так что я включил его в образ докера для запуска. Но я не уверен, почему он не работает. Я не вижу ничего добавленного в файл /var/log/cron.log
. Может кто-нибудь помочь мне понять, почему он не работает?
Я могу скопировать скрипт в образ во время сборки Docker и могу запустить его вручную. БД заполняется, и я получаю ожидаемый результат.
Сценарий находится в текущем каталоге, который будет скопирован в /code/
папку
Вот мой код:
Dockerfile:
FROM python:3
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get install -y cron
RUN apt-get install -y postgresql-client
RUN touch /var/log/cron.log
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD . /code/
COPY crontab /etc/cron.d/cjob
RUN chmod 0644 /etc/cron.d/cjob
CMD cron && tail -f /var/log/cron.log
кронтаб:
*/5 * * * * python3 /code/populatePDBbackground.py >> /var/log/cron.log
# Empty line