Как ограничить использование процессора от хоста до контейнера докера

У меня есть один хост виртуальной машины на одном физическом сервере с множеством док-контейнеров внутри.

Вот один фрагмент моего fig.yml

pg:
  image: pg...
redis:
  image: redis...
mongodb:
  image: mongodb...
app:
  image: myapp...

Я хочу, чтобы контейнер pg использовал только 25% центрального процессора, а приложение использовало только 50% центрального процессора и так далее.

Могу ли я сделать это с fig или с docker run и управлять ссылкой вручную?

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


person Montells    schedule 22.08.2014    source источник
comment


Ответы (1)


На данный момент Fig не поддерживает настройку ограничения ЦП и памяти. Может в будущем поддержит.

Я рекомендую вам поэкспериментировать с использованием docker run -m для ограничения памяти и docker run -c для общих ресурсов ЦП. Эти флаги позволят вам установить значения памяти и ЦП при запуске контейнера. Подробнее о флагах, которые вы можете использовать при запуске docker, читайте здесь:

https://docs.docker.com/reference/commandline/cli/#run

Но его можно установить только при создании нового контейнера. После создания контейнера изменить значение нельзя.

person Ertuğrul Altınboğa    schedule 29.08.2014