Sobes.tech
Junior — Middle

Πώς διαχειρίζεται και περιορίζει το Docker τη χρήση πόρων όπως CPU και μνήμη για κοντέινερ;

sobes.tech AI

Απάντηση από AI

Το Docker διαχειρίζεται και περιορίζει τους πόρους των κοντέινερ χρησιμοποιώντας τις δυνατότητες του πυρήνα Linux, όπως τα cgroups και namespaces.

  • CPU: μπορεί να περιορίσει τον αριθμό των διαθέσιμων πυρήνων επεξεργαστή ή το μερίδιο CPU που μπορεί να χρησιμοποιεί ένα κοντέινερ, χρησιμοποιώντας τις σημαίες --cpus, --cpu-shares, --cpu-quota και --cpu-period κατά την εκκίνηση του κοντέινερ.

  • Μνήμη: ο περιορισμός μνήμης ορίζεται με τις σημαίες --memory (μέγιστη ποσότητα μνήμης) και --memory-swap (ποσότητα swap μνήμης).

Παράδειγμα εκκίνησης κοντέινερ με περιορισμό πόρων:

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

Σε αυτό το παράδειγμα, το κοντέινερ μπορεί να χρησιμοποιήσει το πολύ 1.5 CPU και 512 MB RAM.

Έτσι, το Docker μέσω των cgroups ελέγχει και απομονώνει τους πόρους ώστε τα κοντέινερ να μην υπερβαίνουν τα καθορισμένα όρια και να μην παρεμβαίνουν στη λειτουργία άλλων υπηρεσιών.