Middle
Kako se realizuje raspodela resursa u Docker-u?
sobes.tech АИ
Одговор од АИ
U Docker-u, raspodela resursa između kontejnera vrši se pomoću ograničenja i kvota na korišćenje CPU, memorije, diska i mreže. Ovo omogućava kontrolu nad tim koliko resursa svaki kontejner može da koristi, kako bi se izbegli konflikti i preopterećenja.
Glavni mehanizmi:
- CPU: može se postaviti broj CPU ili udeo vremena procesora pomoću zastavica
--cpus,--cpu-shares,--cpu-quota. - Memorija: ograničenje memorije putem
--memoryi--memory-swap. - IO blokada: ograničenje brzine čitanja/zapisivanja na disk pomoću
--device-read-bps,--device-write-bps. - Mreža: ograničenje propusnog opsega mreže putem plugina ili podešavanja cgroups.
Primer pokretanja kontejnera sa ograničenjima resursa:
docker run -d --name my_container --cpus="1.5" --memory="512m" nginx
Ovde će kontejner dobiti maksimalno 1.5 CPU i 512 MB RAM-a.
Docker koristi mogućnosti Linux kernela (cgroups) za implementaciju ovih ograničenja, što obezbeđuje efikasnu i izolovanu raspodelu resursa između kontejnera.