[英]Run PHP script with Docker container
我有一个docker-compose
设置,使用 nginx 和 php7-fpm。 这正在运行,我的 PHP 页面运行良好。 现在我需要在 Cron 作业中执行一些 php 脚本,但我不想在我计划安装 Cron 作业的主机上安装 php。
如何使用 php7-fpm docker 容器运行 php 脚本?
在我的旧系统上,我安装了 php7,所以我可以设置一个 cron 任务,如下所示:
0 2 * * * /usr/bin/php /var/www/page/cron/my_php_script.php >> /var/log/cron.log 2>&1
如果您打算更多地使用它,您可能希望根据您的要求重建您的 docker-container 并将 crontab 添加到容器内。
或者,您可以使用 dockers exec command ,这允许您在指定容器内执行命令。 您的 crontab 可以使用您的 PHP 命令运行docker exec
。
有几种方法,但我会导航到项目的文件夹并执行docker-compose exec
。 例子:
0 2 * * * cd /my/project/folder && docker-compose exec -T php-fpm-container php -f /my/project/folder-inside-container/cron/my_php_script.php >> /var/log/cron.log 2>&1
这里有一些要点:
docker-compose.yml
(如果没有,您可以使用标志-f
指向 docker-compose 文件)php-fpm-container
应该是安装 php-fpm 的服务/容器的名称/dev/stdout
以便可以通过docker-compose logs
命令访问它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.