Может ли контейнер Docker запускаться "красиво"? - PullRequest
0 голосов
/ 15 января 2019

У меня есть образ докера, на котором размещен веб-сервер, и другой, который выполняет фоновые задачи.Большую часть времени веб-сервер простаивает, и фоновые задачи должны иметь возможность использовать 100% процессорных ресурсов, но каждый раз, когда веб-серверу нужны ресурсы, он должен иметь приоритет над процессорами, чтобы он мог быстро реагировать.

Если бы все работало на одном компьютере с Linux, я мог бы использовать что-то вроде nice -n19 background-task для запуска задач, и они позволили бы веб-серверу столько процессорного времени, сколько ему нужно.

Есть ли способзапустить весь контейнер на уровне nice?Я знаю, что могу ограничить количество процессорного времени, доступного для каждой фоновой задачи, с помощью cpu_quota, но это не решает проблему.Если веб-сервер хочет использовать все 4 ядра ЦП для обслуживания клиента, это должно быть разрешено.Если веб-сервер не занят, все 4 ядра ЦП должны работать в фоновом режиме.

Если я изменю команду в файле Docker на:

nice -n19 background-task

Будет ли это работать между контейнерами?Процессы внутри контейнеров - это все виды нормальных процессов, выполняющихся в одном и том же ядре, так что, похоже, так и будет, но я не уверен.

Это кажется довольно очевидным.Я что-то упустил?

1 Ответ

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

docker -процессы - это обычные процессы ОС.

Docker или нет - не относится к планировщику процессов.

То есть nice / renice работает для докер-процессов так же, как и для других.

...