You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:Nomad中无端口Docker进程的轻量健康检查实现方案

用Nomad进程健康检查解决问题

不需要额外暴露端口或添加辅助服务,直接用Nomad内置的进程健康检查就能满足你的需求——完全匹配「主进程没崩溃就算健康」的判定标准。

具体配置方法:

  • 在Nomad任务的service或check块里,指定type = "process",通过进程名或者PID定位主进程即可。
  • 示例配置片段:
task "your-task" {
  driver = "docker"
  config {
    image = "your-image:tag"
    entrypoint = ["your-entrypoint-command"]
  }

  service {
    name = "your-service"
    check {
      type     = "process"
      name     = "main-process-alive"
      command  = "pgrep"
      args     = ["your-entrypoint-command"]
      interval = "10s"
      timeout  = "2s"
    }
  }
}
  • 更省事的写法:直接检查容器里的PID 1进程(容器主进程默认是PID 1):
check {
  type     = "process"
  name     = "main-process-running"
  interval = "10s"
  timeout  = "2s"
  process_pid = 1
}

这种方式不用修改Docker镜像,也不用启动nc这类多余进程,是最轻量化且贴合你需求的方案。

要是你非得暴露个端口凑数,也可以用busybox的tcpsvd开个空端口,但相比进程检查多了额外进程,不如前者优雅。

内容的提问来源于stack exchange,提问作者Arkadiy Kukarkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 14:45:03