docker ps --quiet | xargs docker inspect --format '{{ .Id }}: Health={{ .State.Health.Status }}'
c1ab47fdc94858275e9327ce56d039010cb9db1eb7865e0917f3d8a74862367e: Health=unhealthy
**Template parsing error: template: :1:27: executing "" at <.State.Health.Status>: map has no entry for key "Health"**
我只想知道为什么在map has no entry for key "Health
命令之后报告错误docker inspect
。状态应该在容器的config.v2.json
文件中,但是,在该文件中,unhealthy
下没有Status
,所以我想知道它在哪里&#34;健康=不健康&#34;来自。
感谢。
答案 0 :(得分:0)
命令docker inspect
的输出,它将json显示为响应。
如果您注意到响应,则没有任何名为Health
的内容。因此,错误。但是,State -> Status
的值为running
。因此,只需使用.State.Status
代替.State.Health.Status
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 23570,
"ExitCode": 0,
"Error": "",
"StartedAt": "2016-10-30T07:06:14.114090476Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
由于您想要查看状态,请使用下面显示所需输出的命令:
sudo docker ps --quiet | xargs sudo docker inspect --format '{{ .Id }}:Health={{ .State.Status }}'
5db8668eb121bd67b6fdeba12269fa7f194c48140b5d547c70befe70b2c3f607:Health=running
为另一个未再运行的容器显示不同的Status
值,如下所示:
$ sudo docker inspect --format '{{ .Id }}:Health={{ .State.Status }}' 060d98f7838e
060d98f7838ec901fd7d3c855254af0d15702d2758d61f6754af8899bee9613a:Health=exited
希望这有用。