【发布时间】:2021-09-10 18:57:27
【问题描述】:
Cron Job 中的内容似乎没有被执行,或者保存日志时出现问题。让我向您介绍我的文件:
crontatab
* * * * * python /bin/wrapper.py > /var/log/somelogfile.txt 2>&1
我没有使用 FROM ubuntu:20.04,而是使用带有安装了 python 的附加层的图像。我无法与您分享此图片,因为它是私人图片。
wrapper.py
import time
print ("Hello World!")
time.sleep(2)
Dockerfile
FROM ubuntu:20.04
RUN apt-get update && \
apt-get install -y cron busybox
COPY crontab /opt
COPY wrapper.py /bin/wrapper.py
RUN crontab /opt/crontab
CMD busybox syslogd -C; cron -L 2 -f
在正在运行的 docker 中,我可以看到 Cron 作业在每分钟安排一次(busybox logread):
但是日志(实际上是“hello world”)没有保存到 /var/log/somelogfile.txt 我不知道内容是在 Crontab 作业中执行还是日志有问题。我想把它保存到日志文件中。
仅供参考,我可以直接从正在运行的 docker 运行以下命令(Docker 中的 -it 模式;/bin/bash): python /bin/wrapper.py > /var/log/somelogfile.txt 2>&1 并创建带有“hello world”的文件。
但不是通过 Cron 作业。
【问题讨论】:
标签: python docker cron dockerfile devops