Как проверить дисковое пространство на хосте докера из приложения контейнера? - PullRequest
0 голосов
/ 22 января 2019

У меня есть приложение Python Flask, запущенное в Docker-контейнере, а также несколько других приложений и обратный прокси-сервер nginx. Некоторые из других приложений записывают файлы журнала на тома, смонтированные с хоста. Некоторые из этих приложений плохо себя ведут, и иногда занимают все доступное дисковое пространство. Я хотел бы, чтобы мое приложение сообщало о результате выполнения команды "df" на хосте докера. Каков наилучший способ сделать это?

Запуск

subprocess.getoutput('df')

показывает только df из контейнера докера, а не с хоста.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Вы можете сделать это, но обычно это плохая идея и требует одного или нескольких обходных путей. Несколько способов сделать это, которые приходят на ум:

  • Попросите хост периодически записывать необходимую информацию (например, вывод df) в файл, который монтируется контейнером.
  • Предоставить какой-либо веб-сервис на хосте, к которому может обратиться контейнер (это кричит о проблемах безопасности)

Возможно, вы захотите ограничить размер томов, в которые записывает контейнер. Этот ответ содержит дополнительную информацию по этому вопросу.

0 голосов
/ 22 января 2019

Вы не можете сделать это.Это против идеи контейнера.Для мониторинга хоста используйте скрипты хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...