如何在php fpm docker中输出cron的日志?

gkl3eglg  于 2023-01-25  发布在  Docker
关注(0)|答案(1)|浏览(146)

我在一个docker php:8.1.0-fpm-buster里面安装了一个cron。它运行的很好,但是在docker桌面里面没有日志显示,它是一个黑屏。
这是Docker的文件

FROM php:8.1.0-fpm-buster
ARG ENV

RUN apt-get update && apt-get -y install cron

RUN touch /var/log/cron.log
RUN chmod 777 /var/log/cron.log

COPY ./crontab /etc/cron.d/crontab
RUN chmod 0644 /etc/cron.d/crontab
RUN /usr/bin/crontab /etc/cron.d/crontab

CMD [ "cron", "-f", "-L", "2" ]

我期望日志中的内容与cron的linux日志类似,如以下示例所示:

Jan 20 09:32:01 ns555555 CRON[21051]: (root) CMD (echo 'my command')

我尝试了不同的命令:

  • 我在cron命令之前添加了bash -c
  • 我删除了-L 2

我也发现了其他stackoverflow的帖子,但每次都不是同一个cron:

我做错了什么?我装错了cron吗?

eeq64g8w

eeq64g8w1#

我发现了这个帖子里面的解决方案:How to run a cron job inside a docker container?
我在命令后添加了> /proc/1/fd/1 2>/proc/1/fd/2,现在日志中有了命令输出

* * * * * root echo hello > /proc/1/fd/1 2>/proc/1/fd/2

相关问题