Sobes.tech
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 --memory i --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.