【问题标题】:Running docker container via crontab does not work通过 crontab 运行 docker 容器不起作用
【发布时间】:2023-03-09 05:30:01
【问题描述】:

我正在尝试安排运行 jenkins slave 的 docker 在每次桌面重新启动时自动重新启动。

  1. 使用简单脚本通过 crontab 检查调度任务

    for i in seq 1 10000;do touch $i.stam && sleep 1;done

并使用 crontab -e 将其添加到自动重启

@reboot /root/script.sh

按预期工作 - 脚本在重新启动后立即启动

  1. 手动检查 docker_run 命令

docker_run.sh 脚本运行命令

docker run -it -u jenkins:jenkins -v /home/jenkins/.ssh/:/home/jenkins/.ssh/ -v /root/docker-jnlp-slave/.aws/:/home/jenkins/.aws/ jenkins/jnlp-slave:latest

按预期工作 - 运行整个 docker run 命令并将其保存为 docker_run.sh 脚本时

  1. 太好了 - 让我们将 docker run 复制到 crontab 中*

    @reboot /root/docker-jnlp-slave/docker_run.sh >/dev/null 2>&1

但是,什么都没有发生

【问题讨论】:

  • 您是否尝试在 docker 命令中添加“--restart always”?检查docs.docker.com/config/containers/…
  • 您需要 1) 正确格式化您的代码(编辑页面上有格式化辅助工具)。 2) 提供更多信息(您的 docker 命令、完整的 sh 脚本、您从根系统邮箱中的 cron 获得的任何错误......)。此外,这可能被视为off topic,可能更适合superuser.com
  • --restart 标志将用于容器,以防容器出现问题,但我需要的是自动启动 docker,以防桌面 (vm) 关闭

标签: docker ubuntu jenkins cron


【解决方案1】:

"--restart always "解决了。一开始我不明白它是如何工作的。 谢谢

【讨论】:

    猜你喜欢
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    相关资源
    最近更新 更多