我正在使用来自docker hub的图像,它使用cron在一段时间后执行某些操作。我按照documentation中的描述注册并推送它作为工作进程(不是Web)。它还需要几个环境变量。
我是从命令行运行它,例如docker run -t -e E_VAR1=VAL1 registry.heroku.com/image_name/worker
并且它工作了几天,然后突然停止了,我不得不再次运行命令。
问题:
谢谢!
答案 0 :(得分:0)
如果您希望在后台运行此操作,则应使用-d
标志断开stdin和stdout,而不是-t
。
要检查日志,请先注意用户docker logs [container name or id]
。您可以使用docker ps -a
找到容器的名称和ID。这应该让你知道容器停止的原因。
要让容器重新启动,请在运行时自动添加--restart always
标志。或者,使用--restart on-failure
仅在退出非零退出代码时重新启动。
设置环境变量的方式似乎很好。