以编程方式获取docker stats

时间:2017-03-23 06:21:33

标签: python docker

我正在使用docker-py并尝试获取docker统计数据。但我无法获得任何返回特定容器的统计信息的API。是否有REST API或以编程方式获取统计信息的任何其他方式?

>>> cli = docker.Client(base_url="tcp://xxxxx:2375", version='1.21')
>>> cli.containers() >> gives the right o/p
>>> cli.containers.get()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'function' object has no attribute 'get'

>>> docker.version
'1.10.6'

2 个答案:

答案 0 :(得分:4)

您可能正在寻找Container.stats

答案 1 :(得分:1)

  1. 获取特定容器名称示例的统计信息:“monitoring-tinydb”。 注意:使用您想要的容器 ID 或名称更改此容器名称。

    import docker
    client = docker.from_env()
    container = client.containers.get("monitoring-tinydb")
    status = container.stats(decode=None, stream = False)
    print(status)
    
    
  2. 获取在 docker 主机中运行的所有容器的统计信息

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