通过任务json的容器运行状况检查状态

时间:2017-05-21 21:09:35

标签: docker remoteapi docker-engine

我正在尝试使用docker远程API获取容器状态。 v1.26

我正在进行/ tasks api调用以获取节点的任务列表。有没有办法从GET /任务json获取容器状态,它映射到"健康":{"状态":"健康"在制作/ containers / json时返回?

我基本上在寻找与/ tasks api

中/ container提供的健康检查相当的健康检查

1 个答案:

答案 0 :(得分:0)

从此来源:https://docs.docker.com/engine/api/v1.26/#operation/ContainerInspect

我认为您可以使用以下方式获取所需信息:

 GET /containers/{id}/json 

在json中返回的内容很多,可能以下是您要搜索的内容:

"State": 

{

    "Error": "",
    "ExitCode": 9,
    "FinishedAt": "2015-01-06T15:47:32.080254511Z",
    "OOMKilled": false,
    "Dead": false,
    "Paused": false,
    "Pid": 0,
    "Restarting": false,
    "Running": true,
    "StartedAt": "2015-01-06T15:47:32.072697474Z",
    "Status": "running"

},

修改

来自GET /tasks示例,我看到了两种不同的情况:

状态:正在运行

"ID": "0kzzo1i0y4jz6027t0k7aezc7",
"Status": 
{
    "Timestamp": "2016-06-07T21:07:31.290032978Z",
    "State": "running",
    "Message": "started",
    "ContainerStatus": 

    {
        "ContainerID": "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035",
        "PID": 677
    }

},
"DesiredState": "running",

状态:关闭

"ID": "1yljwbmlr8er2waf8orvqpwms",
"Status": 
{
    "Timestamp": "2016-06-07T21:07:30.202183143Z",
    "State": "shutdown",
    "Message": "shutdown",
    "ContainerStatus": 

    {
        "ContainerID": "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213"
    }

},
"DesiredState": "shutdown",