Bash Shell脚本未执行命令docker入口点

时间:2020-03-12 21:21:14

标签: bash docker cron

我有一个shell脚本,从docker CMD运行时,它不执行“ crontab”命令。但是当我在docker容器中执行文件时可以使用。我想念什么?

文件entry.sh:

#!/bin/sh
echo "Starting cron"
/usr/sbin/cron -f -L 15
crontab /etc/cron.d/cron-python

Docker文件:

FROM python:3
RUN apt-get update && apt-get -y install cron
COPY ./cron/entry.sh /entry.sh
COPY ./cron/crontab.txt /etc/cron.d/cron-python
RUN chmod +x /entry.sh
RUN chmod 0644 /etc/cron.d/cron-python
CMD ["./entry.sh"]

cron-python:

#   crontab -e
*/1 * * * * python /app/myscript.py >> /var/log/script.log 2>&1

1 个答案:

答案 0 :(得分:0)

以下应该有效:

#!/bin/sh
# start cron
echo "Starting cron"
crontab /etc/cron.d/cron-python
/usr/sbin/cron -f -L 15

在您的版本中,/etc/cron.d/cron-python未安装,因为您要求/ usr / sbin / cron在前台运行。

还需要复制/app/myscript.py。

相关问题