[英]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.