Wie verwaltet und beschränkt Docker die Nutzung von Ressourcen wie CPU und Speicher für Container?
sobes.tech KI
Antwort von AI
Docker verwaltet und beschränkt die Ressourcen der Container mithilfe der Linux-Kernel-Fähigkeiten wie cgroups und Namespaces.
-
CPU: Es ist möglich, die Anzahl der verfügbaren Prozessor-Kerne oder den CPU-Anteil, den ein Container verwenden kann, mit den Flags
--cpus,--cpu-shares,--cpu-quotaund--cpu-periodbeim Starten des Containers zu begrenzen. -
Speicher: Die Speicherbegrenzung wird mit den Flags
--memory(maximale Speichermenge) und--memory-swap(Swap-Speicher) festgelegt.
Beispiel für das Starten eines Containers mit Ressourcenbegrenzung:
docker run --cpus="1.5" --memory="512m" nginx
In diesem Beispiel kann der Container maximal 1,5 CPUs und 512 MB Arbeitsspeicher verwenden.
Auf diese Weise kontrolliert und isoliert Docker die Ressourcen durch cgroups, damit die Container die festgelegten Grenzen nicht überschreiten und den Betrieb anderer Dienste nicht stören.