使用 Docker 时的 Crontab 环境变量

使用 Docker 时的 Crontab 环境变量

我有一个使用 2 个容器的 docker 设置,一个容器运行 mysql,另一个容器运行 apache 和 php,它们运行在 ubuntu 镜像上。我使用 docker-compose 来协调设置。我在 apache-php 容器上设置了一些环境变量,并在其中运行 cron 作业。cron 作业向自身发出 http 请求,但在访问我的环境变量时出现问题。

cron 任务使用 codeigniter 的 CLI。一旦 docker 容器建立,我的 crontab 文件如下所示

MYSQL_USER=something
MYSQL_DB=something
MYSQL_PASS=something
_=/usr/bin/env
# Start the cron
* * * * * php /app/index.php printhello >> /var/log/cron.log 2>&1
# An empty line is required at the end of this file for a valid cron file.

cron 运行了,但是我的应用程序内部没有使用环境变量。如果我手动在 cron 上运行命令,它就可以正常工作。

任何帮助都将不胜感激。如果您需要查看我的代码的任何其他部分,请告诉我。

相关内容