Como é que o Docker gere e limite o uso de recursos como CPU e memória para os contêineres?
sobes.tech IA
Resposta da IA
O Docker gere e limita os recursos dos contêineres usando as capacidades do núcleo Linux, como cgroups e namespaces.
-
CPU: é possível limitar o número de núcleos de processador disponíveis ou a proporção de CPU que um contêiner pode usar, usando as flags
--cpus,--cpu-shares,--cpu-quotae--cpu-periodao iniciar o contêiner. -
Memória: a limitação de memória é definida com as flags
--memory(quantidade máxima de memória) e--memory-swap(quantidade de swap de memória).
Exemplo de execução de um contêiner com limitação de recursos:
docker run --cpus="1.5" --memory="512m" nginx
Neste exemplo, o contêiner poderá usar no máximo 1.5 CPU e 512 MB de memória RAM.
Assim, o Docker, através de cgroups, controla e isola os recursos para que os contêineres não ultrapassem os limites estabelecidos e não interfiram no funcionamento de outros serviços.