【问题标题】:Docker and cron environmentsDocker 和 cron 环境
【发布时间】:2019-04-18 12:18:36
【问题描述】:

我对 docker 映像中的环境变量有疑问.. 我创建了文件:/cron.sh

#!/bin/bash

whoami
export

当我在控制台中手动运行时:sh /cron.sh 可以(root,完整环境),但是当我向 cron 添加命令时,我得到:root,基本环境(没有我的变量)。

crontab -e:

* * * * *  /bin/bash /cron.sh > /proc/$(cat /var/run/crond.pid)/fd/1 2>&1

为什么会有差异?

【问题讨论】:

  • 你是如何设置你的容器的?你的Dockerfile 是什么样的?
  • 您确实应该将该信息添加到问题中。此外,您显示的 Dockerfile 既没有 CMD 也没有 ENTRYPOINT。你是如何开始 cron 的?
  • 在入口点:exec crond -n

标签: bash docker cron centos


【解决方案1】:

我有解决办法..

在入口点运行“exec crond -n”之前,我将环境保存到文件中。

export > /.env

在 cron 中添加下一步:

* * * * *  source /.env; /bin/bash /cron.sh > /proc/$(cat /var/run/crond.pid)/fd/1 2>&1

希望对我有所帮助:-)

【讨论】:

    猜你喜欢
    • 2016-12-28
    • 2021-09-18
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2021-03-20
    • 1970-01-01
    • 2019-10-14
    相关资源
    最近更新 更多