我有一個 dockerfile
FROM python:3.9.12-bullseye
COPY . .
RUN apt-get update -y
RUN apt-get install cron -y
RUN crontab crontab
CMD python task.py && crond -f
還有一個 crontab
* * * * * python /task.py
error /bin/sh: 1: crond: not found當我運行 docker 檔案時,我一直在運行。Docker構建很好。
有誰知道為什么會這樣?如果我使用python:3.6.12-alpine一切正常但使用python:3.9.12-bullseye,我會不斷收到該錯誤。
uj5u.com熱心網友回復:
如果您查看 debian 系列 cron.service,您可以看到下一個:
[Unit]
Description=Regular background program processing daemon
Documentation=man:cron(8)
After=remote-fs.target nss-user-lookup.target
[Service]
EnvironmentFile=-/etc/default/cron
ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
IgnoreSIGPIPE=false
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
從ExecStart=/usr/sbin/cron -f $EXTRA_OPTS,我猜不像alpine,這樣的debian系列linux上的主程式可能cron沒有crond。
(PS:python:3.9.12-bullseye基于debian,同時python:3.6.12-alpine基于alpine)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/516655.html
