[英]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.