Sobes.tech
Junior — Middle

Come gestisce e limita Docker l'uso delle risorse come CPU e memoria per i contenitori?

sobes.tech AI

Risposta dell'AI

Docker gestisce e limita le risorse dei container utilizzando le capacità del kernel Linux, come cgroups e namespaces.

  • CPU: è possibile limitare il numero di core di processore disponibili o la quota di CPU che un container può utilizzare, usando le flag --cpus, --cpu-shares, --cpu-quota e --cpu-period all'avvio del container.

  • Memoria: il limite di memoria viene impostato con le flag --memory (quantità massima di memoria) e --memory-swap (quantità di swap di memoria).

Esempio di avvio di un container con limitazione delle risorse:

docker run --cpus="1.5" --memory="512m" nginx

In questo esempio, il container può usare al massimo 1.5 CPU e 512 MB di RAM.

In questo modo, Docker tramite cgroups controlla e isola le risorse affinché i container non superino i limiti impostati e non interferiscano con il funzionamento di altri servizi.