Sobes.tech
Junior — Middle

Как управлява и ограничава 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 контролира и изолира ресурсите, за да не превишават зададените граници и да не пречат на работата на други услуги.