Sobes.tech
Junior — Middle

Kako Docker upravlja i ograničava korišćenje resursa kao što su CPU i memorija za kontejnere?

sobes.tech АИ

Одговор од АИ

Docker upravlja i ograničava resurse kontejnera koristeći mogućnosti Linux jezgra, kao što su cgroups i namespaces.

  • CPU: može se ograničiti broj dostupnih procesorskih jezgara ili udeo CPU-a koji kontejner može koristiti, pomoću zastavica --cpus, --cpu-shares, --cpu-quota i --cpu-period prilikom pokretanja kontejnera.

  • Memorija: ograničenje memorije se postavlja zastavicama --memory (maksimalna količina memorije) i --memory-swap (količina swap memorije).

Primer pokretanja kontejnera sa ograničenjem resursa:

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

U ovom primeru, kontejner može koristiti najviše 1.5 CPU i 512 MB RAM-a.

Na ovaj način, Docker putem cgroups kontroliše i izoluje resurse, tako da kontejneri ne pređu zadate granice i ne ometaju rad drugih servisa.