仅查看"docker service ps xxx"结果中的错误列?



我知道--format选项的使用,但不知何故它不适用于某些字段(适用于ID字段(,也许对象图隐藏在这里。

以下是仅运行docker service ps my_service_id时显示的所有列:

ID - 名称 - 映像 - 节点 - 所需状态 -

当前状态 - 错误 - 端口

现在,我只想使用以下命令显示 ERROR 列以便于阅读:

docker service ps --format '{{.ERROR}}' my_service_id

但是,它不起作用并打印以下错误:

模板

解析错误:模板::1:3:在<处执行>:无法评估类型 *task.taskContext 中的字段错误

我无法将大写字母与--format标志结合使用,但有效的是使用 例如'{{ .Status }}'.它似乎区分大小写,呈现的表在每列上始终具有大写字母,可能在客户端 (Docker CLI( 上完成。

发出不同子命令时返回(和呈现(的数据类型将包含导出的字段,在 Golang 中,这意味着字段名称以大写字母开头。但情况并非总是如此,例如,使用首字母缩略词时。鉴于我们在这里使用 Golang 模板,我可能错了。

以下命令是否输出您想要的内容?

docker service ps --format '{{ .Error }}' my_service_id

字段在格式输出中区分大小写。为了确定正确的名称,我通常将输出格式化为 json,并用jq使其漂亮:

$ docker service ps --format '{{ json . }}' traefik_traefik | jq .
{
"CurrentState": "Running 15 hours ago",
"DesiredState": "Running",
"Error": "",
"ID": "lrmsc96zdfei",
"Image": "localhost:5000/bmitch/traefik:1.7",
"Name": "traefik_traefik.1",
"Node": "bmitch",
"Ports": ""
}
{
"CurrentState": "Failed 15 hours ago",
"DesiredState": "Shutdown",
"Error": ""task: non-zero exit (255)"",
"ID": "y6ocu5s2k7l2",
"Image": "localhost:5000/bmitch/traefik:1.7",
"Name": "traefik_traefik.1",
"Node": "bmitch",
"Ports": ""
}
{
"CurrentState": "Complete 2 weeks ago",
"DesiredState": "Shutdown",
"Error": "",
"ID": "nt8tsd7jfsgl",
"Image": "localhost:5000/bmitch/traefik:1.7",
"Name": "traefik_traefik.1",
"Node": "bmitch",
"Ports": ""
}

从那里您可以选择所需的字段:

$ docker service ps --format '{{ .ID }}: {{ .Error }}' traefik_traefik
lrmsc96zdfei:
y6ocu5s2k7l2: "task: non-zero exit (255)"
nt8tsd7jfsgl:

相关内容

  • 没有找到相关文章

最新更新