运行bash命令时使用exec的Nomad作业失败

问题描述 投票:0回答:1

我已经尝试了一切,但无法执行exec类型的作业。我在3个不同的群集上进行了尝试,但全部失败。

该作业会修剪docker容器并仅运行docker系统prune -a

这是配置部分:

driver = "exec"
config {
  command = "bash"
  args = ["-c",
  " docker system prune -a "]
}

没有日志和容器不被修剪:

job "docker-cleanup" {
  type = "system"
  constraint {
    attribute = "${attr.kernel.name}"
    operator  = "="
    value     = "linux"
  }
  datacenters = ["dc1"]
  group "docker-cleanup" {

    restart {
      interval = "24h"
      attempts = 0
      mode     = "fail"
    }
    task "docker-system-prune" {
      driver = "exec"
      config {
        command = "bash"
        args = ["-c",
        " docker system prune -a "]
      }
      resources {
        cpu    = 100
        memory = 50
        network {
          mbits = 1
        }
      }
    }
  }
}

我在做什么错?

nomad
1个回答
0
投票

我建议您提供输出以使其更易于分析。

您可以尝试的一件事是将完整路径添加到bash可执行文件。

   driver = "exec"
    config {
      command = "/bin/bash"
      args = ["-c",
      " docker system prune -a "]
    }

此外,您在系统修剪中缺少“ --force”参数,如果没有它-docker system prune要求确认。

docker system prune --all --force
© www.soinside.com 2019 - 2024. All rights reserved.