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-quotai--cpu-periodpodczas 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.