繁体   English   中英

Bash shell 脚本不执行命令 docker 入口点

[英]Bash shell script not executing command docker entrypoint

我有一个 shell 脚本,它在从 docker CMD 运行时没有执行“crontab”命令。 但是当我在 docker 容器内执行文件时有效。 我错过了什么?

文件入口.sh:

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

码头工人文件:

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"]

定时蟒蛇:

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

以下应该工作:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM