docker - config.v2.json中的docker healthcheck

标签 docker containers

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,因此我想知道“Health = unhealthy”来自何处。

谢谢。

最佳答案

命令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

希望这会有所帮助。

关于docker - config.v2.json中的docker healthcheck,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40326149/

相关文章:

extjs - 如何让滚动条出现在 Rally 纸板组件中?

laravel - 使用Laradock运行Elastic Search

docker - 如何从 ubuntu14.04 上的 localhost 将目录或文件复制到 docker 镜像?

node.js - 无法在 docker 容器中安装 npm?

docker - $POSTGRES_PORT_5432_TCP_ADDR 和 $POSTGRES_PORT_5432_TCP_PORT 来自哪里?

spring - 使用Gradle将Docker镜像推送到dockerhub时​​出错

css - 当每一篇文章(高度适合内容)开始一个接一个时,我如何构建一个容器

image - flutter :- Align a icon to the right bottom of a container

javascript - 在div jquery中包含图像

sql-server - 通过名称从另一个容器连接到SQL Server容器