Как управлява и ограничава Docker използването на ресурси като CPU и памет за контейнерите?
sobes.tech AI
Отговор от AI
Docker управлява и ограничава ресурсите на контейнерите чрез възможностите на ядрото Linux, като cgroups и namespaces.
-
CPU: може да се ограничи броят на наличните процесорни ядра или делът на CPU, който контейнерът може да използва, чрез флаговете
--cpus,--cpu-shares,--cpu-quotaи--cpu-periodпри стартиране на контейнера. -
Памет: ограничението на паметта се задава с флаговете
--memory(максималният обем памет) и--memory-swap(обемът swap памет).
Пример за стартиране на контейнер с ограничение на ресурсите:
docker run --cpus="1.5" --memory="512m" nginx
В този пример, контейнерът може да използва максимум 1.5 CPU и 512 МБ оперативна памет.
По този начин, Docker чрез cgroups контролира и изолира ресурсите, за да не превишават зададените граници и да не пречат на работата на други услуги.