【问题标题】:CronJob not able to start docker containerCronJob 无法启动 docker 容器
【发布时间】:2017-12-09 22:22:02
【问题描述】:

我正在尝试使用 cronjob 运行容器,但是我的 cron 无法运行容器。

我有一个 cron 任务来调用 orchestrate.sh 来启动一个容器

crontab -l

27 22 08 * * /tmp/compose/orchestrate.sh >> /var/log/composeerr.log
#have a newline

orchestrate.sh

#!/bin/bash -v
/usr/bin/docker run -d hello/helloworld:latest >> /somerror.log

somerror.log 有一个容器 id,但是主机上的 docker ps 没有显示它。

如果我在主机上运行命令/usr/bin/docker run -d hello/helloworld:latest >> /somerror.log,它会启动容器。

我错过了什么?

【问题讨论】:

  • 有没有可能现在还不是执行 cronjob 的时候?您希望它何时运行?
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。
  • 玉米正在触发,我可以看到日志,但 docker 容器没有运行。我有一些回声语句来验证它
  • @jww 当涉及到 Docker 时,规则对我来说不是很清楚。现在,了解如何构建和部署 docker 服务已成为普通开发人员工作的一部分。这不是一个真正的 Ops 问题。
  • @Srikant 这是您在这里的第一篇文章,所以我会为您提供一些帮助。我已经重新格式化了你的问题。尝试花最少的时间使您的问题更具可读性(拼写、格式)并添加您拥有的所有信息(列出 cron 作业的确切输出)。如果您希望人们花时间回答您的问题,这没什么好问的。也不要忘记投票 cmets/responses。

标签: linux docker cron


【解决方案1】:

运行 cronjob 的用户必须能够启动 docker 容器。在 linux 上,这通常是 root 用户或添加到该组的用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2014-09-24
    • 2020-01-28
    • 2021-04-21
    • 1970-01-01
    相关资源
    最近更新 更多