Python Docker:在python docker中以编程方式获取容器的内存使用率和CPU百分比

时间:2020-01-15 11:12:31

标签: python docker

作为“ docker stats”命令,其详细信息如下:(我只放置了标头,而不是值)

CONTAINER ID        NAME                      CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS

我想要使用python脚本的上述详细信息。我已经完成以下操作:

client = docker.DockerClient(base_url='unix:///var/run/docker.sock') for i in client.containers.list(): print(i.stats)

但是无法使用i.stats及其属性获得任何有用的信息。 我该怎么做才能获得上述详细信息?

1 个答案:

答案 0 :(得分:2)

stats是一个函数。因此,您需要将其称为i.stats()。默认情况下,它也将结果作为python生成器流式传输。如果只想获取当前统计信息,则可以使用stream=False参数。

client = docker.DockerClient(base_url='unix:///var/run/docker.sock')
for i in client.containers.list():
     print(i.stats(stream=False))

如果您想继续实时打印统计信息:

for stat in i.stats():
    print(stat)