
Baue keine Docker Apps ohne diese Flag

Ich habe eine Menge Docker Apps auf einem Server laufen, und es wurde schwierig, als Docker-Builds beschlossen, die gesamte CPU zu beanspruchen, was dazu führte, dass alle meine anderen Apps langsam liefen. Also, wie habe ich das behoben? Die Antwort ist die --cpu-quota
Flag!
Immer wenn ich docker build ...
ausführe, geht meine CPU-Auslastung durch die Decke 🤯
Das wäre in Ordnung, wenn nichts anderes auf dem Server läuft, aber es gibt einige Apps, die super empfindlich auf diese Art von CPU-Belegung reagieren, also musste ich eine Lösung finden!
Die --cpu-quota
Flag wird als "Limit the CPU CFS (Completely Fair Scheduler) quota" beschrieben, was ich ehrlich gesagt beim ersten Mal nicht verstanden habe.
Die TL;DR-Version ist, dass jeder Core, den du hast, 100000
entspricht. Wenn du einen Server mit 1 Core hast und Docker Build 80% der verfügbaren CPU geben möchtest, verwendest du --cpu-quota 80000
. Und wenn du mehr Cores hast, skalierst du es einfach hoch. Wenn du 4 Cores hast, wäre es 4 mal 80000, also 320000.
Das war's! Wenn du einfach --cpu-quota xyz
an deinen Docker Build anhängst, sind deine Probleme gelöst. Natürlich musst du herausfinden, was deine magische Zahl ist! Für mich haben 70% der verfügbaren CPU alle meine Probleme gelöst.
Wenn du nicht das gleiche Problem beim Deployen von Docker auf deinem Server haben willst, schau dir Sliplane! an!