Python Docker: использование памяти для получения контейнеров, процент загрузки процессора программно в python docker - PullRequest
1 голос
/ 15 января 2020

Поскольку команда "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 Ответ

2 голосов
/ 15 января 2020

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...