使用/container/id/top命令获取docker api



我对docker很陌生,但它的功能已经给我留下了深刻的印象!

我有一个问题是,当我运行/container/id/top api时,我得到了一些属性值,但不是我在文档中看到的那些。

从docker远程API文档,我看到:列出在容器内运行的进程GET/集装箱/(id)/高级

列出容器id

内运行的进程<<p> 示例请求/strong>:
GET /containers/4fa6e0f0c678/top HTTP/1.1

:

HTTP/1.1 200 OK
Content-Type: application/json
{
     "Titles":[
             "USER",
             "PID",
             "%CPU",
             "%MEM",
             "VSZ",
             "RSS",
             "TTY",
             "STAT",
             "START",
             "TIME",
             "COMMAND"
             ],
     "Processes":[
             ["root","20147","0.0","0.1","18060","1864","pts/4","S","10:06","0:00","bash"],
             ["root","20271","0.0","0.0","4312","352","pts/4","S+","10:07","0:00","sleep","10"]
     ]
}

但是当我在启用dock的VM上运行相同的api时,我得到

"Processes": [
    [
        "root",
        "27467",
        "1449",
        "0",
        "19:39",
        "pts/3",
        "00:00:00",
        "/bin/bash"
    ],
    [
        "root",
        "28010",
        "27467",
        "0",
        "19:46",
        "pts/3",
        "00:11:03",
        "/bin/bash"
    ]
],
"Titles": [
    "UID",
    "PID",
    "PPID",
    "C",
    "STIME",
    "TTY",
    "TIME",
    "CMD"
]

不包含CPU和内存%。有什么需要启用的吗?

我的docker版本是Suse64:~ # docker版本客户端版本:1.1.1客户端API版本:1.13Go版本(客户端):go1.3Git提交(客户端):dc62f3c服务器版本:1.1.1服务器API版本:1.13Go版本(服务器):go1.3Git commit (server): dc62f3c

提前感谢。Enlin

似乎您需要?ps_args=-aux参数的查询。例如:

http://127.0.0.1:2375/v1.10/containers/<contained_id>/top?ps_args=-aux

这将返回json对象中所有进程的cpu和内存统计信息。

来源:类似的问题在github上

最新更新