如何防止游牧任务退出?
How to keep nomad task from exiting?
在 docker 中,我们有 -t
标志来防止容器退出。如何在游牧中实现同样的事情?
我想调试是否可以从另一个服务 ping 通一个服务,所以我只想要一个带有 curl 的容器。但是,如果我尝试部署指定它的 ubuntu 图像,它会退出并继续重新启动。我该怎么做才能保持 运行?
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
}
resources {
cpu = 500
memory = 256
network {
mbits = 10
}
}
}
在配置节中添加container = true
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
container = true
}
resources {
cpu = 500
memory = 256
network {
mbits = 10
}
}
}
另一个解决方案是设置一个“虚拟”入口点tail -f /dev/null
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
entrypoint = [
"tail", "-f", "/dev/null",
]
}
resources {
cpu = 500
memory = 256
}
}
当您有一个任务在容器启动时出错但日志中没有太多有用信息时,它特别有用。这个“虚拟”入口点将使容器保持活动状态,允许您进入容器并执行带有附加调试器的真实启动命令。
除了tail -f /dev/null
,您还可以简单地使用yes
作为切入点。但是,如果设置它,它会污染标准输出并影响您的日志记录解决方案。
在 docker 中,我们有 -t
标志来防止容器退出。如何在游牧中实现同样的事情?
我想调试是否可以从另一个服务 ping 通一个服务,所以我只想要一个带有 curl 的容器。但是,如果我尝试部署指定它的 ubuntu 图像,它会退出并继续重新启动。我该怎么做才能保持 运行?
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
}
resources {
cpu = 500
memory = 256
network {
mbits = 10
}
}
}
在配置节中添加container = true
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
container = true
}
resources {
cpu = 500
memory = 256
network {
mbits = 10
}
}
}
另一个解决方案是设置一个“虚拟”入口点tail -f /dev/null
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
entrypoint = [
"tail", "-f", "/dev/null",
]
}
resources {
cpu = 500
memory = 256
}
}
当您有一个任务在容器启动时出错但日志中没有太多有用信息时,它特别有用。这个“虚拟”入口点将使容器保持活动状态,允许您进入容器并执行带有附加调试器的真实启动命令。
除了tail -f /dev/null
,您还可以简单地使用yes
作为切入点。但是,如果设置它,它会污染标准输出并影响您的日志记录解决方案。