Поля чувствительны к регистру в формате вывода. Чтобы определить правильное имя, я обычно форматирую вывод как 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: