【问题标题】:Running an docker image with cron使用 cron 运行 docker 映像
【发布时间】:2017-03-28 15:07:17
【问题描述】:

我正在使用来自 docker hub 的图像,它使用 cron 在一段时间后执行一些操作。我已按照documentation 中的说明将其注册并推送为工作进程(不是网络)。它还需要几个环境变量。

我已经从命令行运行它,例如docker run -t -e E_VAR1=VAL1 registry.heroku.com/image_name/worker 运行了几天,然后突然停止,我不得不再次运行命令。

问题:

  • 这是在 Heroku 中运行 docker(作为工作进程)的正确方法吗?
  • 为什么几天后它会停止运行?有什么日志要检查吗?
  • 有没有办法自动重启进程?
  • 如何在 Heroku 中正确设置 docker 的环境变量?

谢谢!

【问题讨论】:

    标签: heroku docker cron


    【解决方案1】:
    1. 如果你想让它在后台运行,你应该使用-d 标志来断开标准输入和标准输出,而不是-t。

    2. 要查看日志,用户 docker logs [container name or id]。您可以使用docker ps -a 找到容器的名称和 ID。这应该让您了解容器停止的原因。

    3. 要让容器在运行时自动重启,请添加--restart always 标志。或者,使用--restart on-failure 仅在以非零退出代码退出时重新启动。

    4. 你设置环境变量的方式看起来不错。

    【讨论】:

      猜你喜欢
      • 2015-12-12
      • 2016-02-12
      • 2020-11-13
      • 2017-04-20
      • 1970-01-01
      • 2020-09-29
      • 2016-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多