Мое недопонимание, основанное на том, что Docker основано на LXC, заключается в том, что контейнеры Docker совместно используют различные ресурсы из своей операционной системы хоста. Моя проблема связана с ядрами CPU. Вот сценарий:
- операционная система хоста имеет 8 ядер
- Мне нужно развернуть набор контейнеров докеров на ОС хоста выше.
- Некоторые из контейнеров докеров, которые мне нужно развернуть, лучше подходят для использования 2 ядер
a) Итак, если я запустил все контейнеры докеров на этом хосте, они будут потреблять CPU/ядра по мере необходимости, как если бы они запускались как обычные установленные приложения на этой ОС хоста?
b) Будет ли контейнер докеров потреблять свой собственный процесс, и вся содержащаяся в нем обработка будет зависеть от этого основного ядра процессора?
c) Как я могу указать контейнер докера для использования нескольких ядер (например, 4). Я видел, что есть флаг -C, который может указывать на идентификатор ядра, но, похоже, нет возможности указать контейнер для выбора N ядер в случайном порядке.