Sobes.tech
Junior — Middle

W jaki sposób Docker zarządza i ogranicza wykorzystanie zasobów takich jak CPU i pamięć dla kontenerów?

sobes.tech AI

Odpowiedź od AI

Docker zarządza i ogranicza zasoby kontenerów za pomocą możliwości jądra Linux, takich jak cgroups i namespaces.

  • CPU: można ograniczyć liczbę dostępnych rdzeni procesora lub udział CPU, który kontener może używać, za pomocą flag --cpus, --cpu-shares, --cpu-quota i --cpu-period podczas uruchamiania kontenera.

  • Pamięć: ograniczenie pamięci ustawia się za pomocą flag --memory (maksymalna ilość pamięci) i --memory-swap (ilość swap pamięci).

Przykład uruchomienia kontenera z ograniczeniem zasobów:

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

W tym przykładzie kontener może używać maksymalnie 1.5 CPU i 512 MB pamięci RAM.

W ten sposób Docker, poprzez cgroups, kontroluje i izoluje zasoby, aby kontenery nie przekraczały ustalonych limitów i nie zakłócały pracy innych usług.