当我问apon laracasts forum时,我试图遏制laravel cron调度程序:
这是我的Dockerfile
:
FROM php:8.1-alpine
# Install nessesary php module here
COPY . /var/www/html
RUN echo "Installing composer \n" &&\
php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');" &&\
php /tmp/composer-setup.php --install-dir=/bin --filename=composer &&\
rm -rf /tmp/cpmposer-setup.php &&\
chmod +x /bin/composer &&\
cd /var/www/html &&\
composer install &&\
rm -rf composer
COPY ./entrypoint/entrypoint_cron.sh /usr/local/bin/entrypoint.sh
RUN echo "Fixing Permissions on Entrypoint Script \n" &&\
chown root:root /usr/local/bin/entrypoint.sh &&\
chmod +x /usr/local/bin/entrypoint.sh &&\
usermod --shell /bin/bash www-data
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["php","artisan","schedule:run"]
这是入口点脚本/usr/local/bin/entrypoint.sh
:
#!/bin/sh
while true
do
"$@"
sleep 60
done
,但我不知道我的方法是否会有蚂蚁并发症,并且从长远来看是否会使我使用crontab更多的麻烦。
这背后的想法是因为我只需要一个命令即可每分钟运行,似乎是一个浪费即可安装和运行crontab
(除非预安装)在我的容器中。
您知道我的火车是否有意义,并且不会从长远来看会给我带来麻烦吗?