用cron运行docker镜像
我正在使用docker集线器的图像,并使用cron执行一些间隔后的行动。 我已经按照工作stream程(而不是networking)的文档中所述进行了注册和推送。 它也需要几个环境variables。
我已经从命令行运行它,例如docker run -t -e E_VAR1=VAL1 registry.heroku.com/image_name/worker
,它工作了几天,然后突然停止,我不得不再次运行该命令。
问题:
- 这是在Heroku中运行docker(作为工作进程)的正确方法吗?
- 为什么会在几天后停止运行? 有没有要检查的日志?
- 有没有办法自动重启进程?
- 如何在Heroku中正确设置Docker的环境variables?
谢谢!
-
如果你想在后台运行,你应该使用
-d
标志来断开stdin和stdout,而不是-t
。 -
要检查日志,用户
docker logs [container name or id]
。 您可以使用docker ps -a
来查找容器的名称和标识。 这应该给你一个关于为什么容器停下来的想法。 -
要让容器重新启动,在运行时会自动添加
--restart always
标志。 或者,使用--restart on-failure
只在退出非零退出代码时重新启动。 -
你设置环境variables的方式似乎很好。