Sobes.tech
Junior — Middle

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-quota und --cpu-period beim 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.