我在一个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:
- See cron output via docker logs, without using an extra file
- Docker - Using PHP Cli base image for Cron container
我做错了什么?我装错了cron吗?
1条答案
按热度按时间eeq64g8w1#
我发现了这个帖子里面的解决方案:How to run a cron job inside a docker container?
我在命令后添加了
> /proc/1/fd/1 2>/proc/1/fd/2
,现在日志中有了命令输出