我有一个Python脚本,它将数据填充到AWS的Postgres数据库中。我可以手动运行它,并且它可以成功地将数据加载到数据库中。我想在每5分钟内在Docker容器中运行它一次。
因此,我将它包含在Docker镜像中以便运行。但我不确定为什么它没有运行。我无法看到任何追加到 `/var/log/cron.log` 文件中的内容。有人可以帮助我找出为什么它没有运行吗?
在docker build期间,我可以将脚本复制到映像中并手动运行它。数据库正在填充,并且我得到了预期的输出结果。
该脚本位于当前目录,将被复制到 `/code/` 文件夹中。
以下是我的代码: Dockerfile:
因此,我将它包含在Docker镜像中以便运行。但我不确定为什么它没有运行。我无法看到任何追加到 `/var/log/cron.log` 文件中的内容。有人可以帮助我找出为什么它没有运行吗?
在docker build期间,我可以将脚本复制到映像中并手动运行它。数据库正在填充,并且我得到了预期的输出结果。
该脚本位于当前目录,将被复制到 `/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
crontab:
*/5 * * * * python3 /code/populatePDBbackground.py >> /var/log/cron.log
# Empty line
cat / var / log / cron.log
随时查看内容。如果我有错,请纠正我。是否必须添加tail
? - Underooscron -f
具有相同的效果。 - cgcgbcbcchmod 0644 /etc/cron.d/cjob
帮助了我。 - sergej