{"id":225,"date":"2024-07-21T11:45:23","date_gmt":"2024-07-21T11:45:23","guid":{"rendered":"https:\/\/dockerpros.com\/?p=225"},"modified":"2024-07-21T11:45:23","modified_gmt":"2024-07-21T11:45:23","slug":"so-legen-sie-ressourcenlimits-in-docker-festspeicherlimit-rambashdocker-run-d-memory512m-mein-imagesetzt-ein-limit-von-512-megabyte-ramcpu-limit-cpu-anteile-relat","status":"publish","type":"post","link":"https:\/\/dockerpros.com\/de\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/","title":{"rendered":"Wie setze ich Ressourcenlimits in Docker?"},"content":{"rendered":"<h2>How to Set Resource Limits in Docker: An Advanced Guide<\/h2>\n<p>Docker hat die Art und Weise, wie wir bauen, versenden und <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> applications by enabling developers to package their applications and dependencies into containers. This containerization technology comes with a multitude of features, among which the ability to set resource limits is crucial for ensuring that your applications <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> efficiently and do not consume excessive system resources. In this article, we will delve into how to manage resource limits in Docker containers, explore the various options available, and understand the implications of these settings.<\/p>\n<h3>Grundlagen der Docker-Ressourcenverwaltung<\/h3>\n<p>Bevor wir uns den Details zur Festlegung von Ressourcenlimits zuwenden, ist es wichtig zu verstehen, was Ressourcenverwaltung in Docker bedeutet. Die Ressourcenverwaltung erm\u00f6glicht es Ihnen, festzulegen, wie viel CPU, Arbeitsspeicher und E\/A einem Docker... <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can consume. By imposing limits, you can prevent a single <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> from monopolizing system resources, thus ensuring that other containers and the host system remain performant and stable.<\/p>\n<p>Docker employs both hard and soft limits for resource management:<\/p>\n<ul>\n<li>\n<p><strong>Hard Limits<\/strong>: These limits are strict and cannot be exceeded under any circumstances. For example, if you set a memory limit, the <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> will be terminated if it attempts to exceed that limit.<\/p>\n<\/li>\n<li>\n<p><strong>Weiche Grenzwerte<\/strong>: These limits allow some leeway. For instance, with CPU shares, a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can use more CPU resources when available, but it will be throttled when competing with other containers for CPU time.<\/p>\n<\/li>\n<\/ul>\n<h3>Setting Resource Limits for CPU<\/h3>\n<p>Docker bietet mehrere Optionen zur Steuerung der CPU-Ressourcenzuteilung, einschlie\u00dflich <code>--cpus<\/code>, <code>CPU-Anteile<\/code>, and <code>--cpuset-cpus<\/code>.<\/p>\n<h4>1. Mit der Verwendung <code>--cpus<\/code><\/h4>\n<p>Die <code>--cpus<\/code> flag allows you to limit the total number of CPUs that a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can use. For instance, if you want to restrict a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to use only 2 CPUs, you can <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:<\/p>\n<pre><code class=\"language-bash\">docker run --cpus=\"2.0\" my_app<\/code><\/pre>\n<p>You can specify fractional values as well. If you set it to <code>0.5<\/code>, die <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> will be allowed to use half of one CPU core.<\/p>\n<h4>2. Using <code>CPU-Anteile<\/code><\/h4>\n<p>Die <code>CPU-Anteile<\/code> option is a way to specify the relative weight of CPU allocation for a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. By default, Docker sets the CPU share to 1024. If you <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> mit <code>--cpu-shares=512<\/code>, erh\u00e4lt es unter hoher Auslastung nur die H\u00e4lfte der CPU-Zeit im Vergleich zu Containern mit dem Standardanteil.<\/p>\n<p>Beispiel:<\/p>\n<pre><code class=\"language-bash\">docker <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --cpu-shares=512 my_app<\/code><\/pre>\n<p>In this case, the <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> will receive CPU time based on the weight you have assigned relative to others.<\/p>\n<h4>3. Verwendung <code>--cpuset-cpus<\/code><\/h4>\n<p>Die <code>--cpuset-cpus<\/code> option allows you to specify which logical CPUs (cores) a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> k\u00f6nnen <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> on. This is especially useful for multi-core systems where you may want to restrict a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to a specific set of CPUs.<\/p>\n<p>Beispiel:<\/p>\n<pre><code class=\"language-bash\">docker run --cpuset-cpus=\"0,1\" my_app<\/code><\/pre>\n<p>In this case, the <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can only <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> on CPU cores 0 and 1.<\/p>\n<h3>Spezifikation von Ressourcengrenzen f\u00fcr den Speicher\n\nSie k\u00f6nnen die Speicherressourcengrenzen f\u00fcr einen Container in einer Pod-Spezifikation festlegen. Zum Beispiel k\u00f6nnte die Spezifikation f\u00fcr einen Pod wie folgt aussehen:\n\n```yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: frontend\nspec:\n  containers:\n  - name: db\n    image: mysql\n    env:\n    - name: MYSQL_ROOT_PASSWORD\n      value: \"password\"\n    resources:\n      requests:\n        memory: \"64Mi\"\n        cpu: \"250m\"\n      limits:\n        memory: \"128Mi\"\n        cpu: \"500m\"\n  - name: wp\n    image: wordpress\n    resources:\n      requests:\n        memory: \"64Mi\"\n        cpu: \"250m\"\n      limits:\n        memory: \"128Mi\"\n        cpu: \"500m\"\n```\n\nIn diesem Beispiel hat der Pod zwei Container. Jeder Container im Pod muss seine Ressourcenanforderungen angeben.\n\nDer `db`-Container bittet um 64 Mebibyte Speicher und 250 Millicores CPU. Dies wird als `requests` bezeichnet. Ein Container wird immer mit der Menge an CPU und Speicher geplant, die er anfordert.\n\nDer `db`-Container hat auch eine Obergrenze von 128 Mebibyte Speicher und 500 Millicores CPU. Dies wird als `limits` bezeichnet. Ein Container kann diese Menge an CPU und Speicher nicht \u00fcberschreiten.\n\nDer `wp`-Container bittet ebenfalls um 64 Mebibyte Speicher und 250 Millicores CPU. Er hat auch eine Obergrenze von 128 Mebibyte Speicher und 500 Millicores CPU.\n\nWenn Sie die Speicherlimits f\u00fcr einen Container angeben, ist jeder Container in einem Pod anf\u00e4llig f\u00fcr Out-of-Memory (OOM)-Fehler, wenn er die Speicherlimits \u00fcberschreitet.<\/h3>\n<p>Speichergrenzen k\u00f6nnen mithilfe der <code>--memory<\/code> and <code>--memory-swap<\/code> Optionen.<\/p>\n<h4>1. Mit der Verwendung <code>--memory<\/code><\/h4>\n<p>Die <code>--memory<\/code> flag allows you to limit the amount of memory a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can use. If a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> exceeds this limit, it will be killed and potentially restarted if you have a restart policy in place. <\/p>\n<p>Beispiel:<\/p>\n<pre><code class=\"language-bash\">docker run --memory=\"512m\" my_app<\/code><\/pre>\n<p>This command restricts the <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to use a maximum of 512 MB of RAM.<\/p>\n<h4>2. Using <code>--memory-swap<\/code><\/h4>\n<p>Die <code>--memory-swap<\/code> option allows you to set a limit on the total amount of memory plus swap a <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can use. If set to <code>-1<\/code>, die <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can use unlimited swap.<\/p>\n<p>Beispiel:<\/p>\n<pre><code class=\"language-bash\">docker run --memory=\"512m\" --memory-swap=\"1g\" meine_app<\/code><\/pre>\n<p>In diesem Szenario ist die <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can use up to 512 MB of physical memory and up to 1 GB of swap memory.<\/p>\n<h3>Setting I\/O Limits<\/h3>\n<p>Neben CPU und Speicher erm\u00f6glicht Docker Ihnen auch die Festlegung von Grenzwerten f\u00fcr Block-I\/O mithilfe von <code>--blkio-weight<\/code> Option. Diese Option definiert das Gewicht des Block-I\/O des Containers im Verh\u00e4ltnis zu anderen Containern.<\/p>\n<h4>Verwenden <code>--blkio-weight<\/code><\/h4>\n<p>Die <code>--blkio-weight<\/code> option takes a value between 10 and 1000, where 10 is the lowest priority and 1000 is the highest.<\/p>\n<p>Beispiel:<\/p>\n<pre><code class=\"language-bash\">docker <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --blkio-weight=500 my_app<\/code><\/pre>\n<p>This command sets a medium priority for the container\u2019s I\/O operations, allowing it to perform reasonably well without overwhelming the system.<\/p>\n<h3>Best Practices for Resource Limits<\/h3>\n<p>Die Festlegung von Ressourcengrenzen in Docker ist entscheidend f\u00fcr die Aufrechterhaltung einer stabilen und effizienten Umgebung. Hier sind einige bew\u00e4hrte Praktiken, die Sie ber\u00fccksichtigen sollten:<\/p>\n<h4>1. Analysieren Sie die Ressourcennutzung<\/h4>\n<p>Bevor Sie Grenzwerte festlegen, \u00fcberwachen Sie die Ressourcennutzung Ihrer Anwendungen, um deren Anforderungen zu verstehen. Tools wie <code>docker stats<\/code> kann Echtzeit-Einblicke in den Ressourcenverbrauch laufender Container bieten.<\/p>\n<h4>2. Start with Conservative Limits<\/h4>\n<p>Initially, set conservative limits and gradually adjust them based on the application\u2019s performance and resource needs. This approach can help prevent performance degradation and ensure system stability.<\/p>\n<h4>3. Test Under Load<\/h4>\n<p>Testen Sie Ihre Container unter Last, um festzustellen, wie sie sich mit den auferlegten Grenzen verhalten. Diese Tests k\u00f6nnen dazu beitragen, Engp\u00e4sse oder Probleme zu erkennen, bevor Sie sie in einer Produktionsumgebung einsetzen.<\/p>\n<h4>4. Verwenden von Ressourcenkontingenten im Swarm-Modus<\/h4>\n<p>Wenn Sie verwenden <span class=\"glossaryai-tooltip glossary-term-655\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-swarm\/\" target=\"_blank\">Docker Swarm<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Swarm is a container orchestration tool that enables the management of a cluster of Docker engines. It simplifies scaling and deployment, ensuring high availability and load balancing across services.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-swarm\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, erw\u00e4gen Sie die Verwendung von Ressourcenkontingenten, um die insgesamt verf\u00fcgbaren Ressourcen f\u00fcr eine zu begrenzen <span class=\"glossaryai-tooltip glossary-term-681\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/service\/\" target=\"_blank\">Service<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Service bezeichnet die Handlung, Unterst\u00fctzung oder Hilfe zu leisten, um spezifische Bed\u00fcrfnisse oder Anforderungen zu erf\u00fcllen. In verschiedenen Bereichen umfasst er Kundenservice, technischen Support und professionelle Dienstleistungen, wobei Effizienz und Nutzerzufriedenheit im Vordergrund stehen.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/service\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. This can help manage the resources across multiple containers running in a Swarm.<\/p>\n<h3>Erweiterte Ressourcenmanagement-Techniken\n\nDie meisten der in diesem Kapitel beschriebenen Techniken sind in der Standardbibliothek verf\u00fcgbar. Sie werden in den folgenden Abschnitten vorgestellt.<\/h3>\n<p>In addition to basic resource limits, Docker supports advanced features for managing resources effectively.<\/p>\n<h4>Cgroups<\/h4>\n<p>Docker nutzt Linux Control Groups (cgroups) zur Ressourcenverwaltung. Cgroups erm\u00f6glichen es, Ressourcen zuzuteilen und Grenzen f\u00fcr eine Gruppe von Prozessen durchzusetzen. W\u00e4hrend Docker cgroup-Konfigurationen automatisch handhabt, kann das Verst\u00e4ndnis, wie cgroups funktionieren, helfen, Probleme zu beheben und Einstellungen zu optimieren.<\/p>\n<h4>2. \u00dcberwachung und Warnungen<\/h4>\n<p>Implement monitoring tools that can track resource usage over time and alert you when limits are approached. Tools like Prometheus and Grafana can be integrated with Docker to provide comprehensive insights into <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\" target=\"_blank\">Beh\u00e4lter<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> performance.<\/p>\n<h4>3. Resource Limits in Docker Compose<\/h4>\n<p>Bei der Definition von Diensten in einem <span class=\"glossaryai-tooltip glossary-term-689\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose-file\/\" target=\"_blank\">Docker Compose-Datei<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Docker Compose-Datei ist eine YAML-Konfigurationsdatei, die Dienste, Netzwerke und Volumes f\u00fcr Docker-Anwendungen mit mehreren Containern definiert. Sie vereinfacht die Bereitstellung und Verwaltung und erh\u00f6ht die Effizienz.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose-file\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, you can also specify resource limits directly in the <span class=\"glossaryai-tooltip glossary-term-690\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\" target=\"_blank\">YAML<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">YAML (YAML Ain't Markup Language) ist ein f\u00fcr Menschen lesbares Daten-Serialisierungsformat, das h\u00e4ufig f\u00fcr Konfigurationsdateien verwendet wird. Es betont Einfachheit und Klarheit und eignet sich daher sowohl f\u00fcr Entwickler als auch f\u00fcr Nicht-Entwickler.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> Konfiguration. Hier ist ein Beispiel:<\/p>\n<pre><code class=\"language-yaml\">version: '3.8'\nservices:\n  my_app:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>my_app_image:\n  bereitstellung:\n    ressourcen:\n      grenzwerte:\n        cpus: '0.5'\n        speicher: 512M<\/code><\/pre>\n<h3>Fazit<\/h3>\n<p>Die Festlegung von Ressourcengrenzen in Docker ist ein wesentlicher Aspekt des Anwendungsmanagements, der eine effiziente Ressourcennutzung sicherstellt und die Systemstabilit\u00e4t aufrechterh\u00e4lt. Durch die Nutzung von CPU-, Speicher- und E\/A-Beschr\u00e4nkungen k\u00f6nnen Sie eine vorhersehbarere und besser steuerbare Umgebung f\u00fcr Ihre Anwendungen schaffen. Das Verst\u00e4ndnis der Feinheiten jeder Option und die Implementierung bew\u00e4hrter Verfahren erm\u00f6glichen es Ihnen, das volle Potenzial von Docker auszusch\u00f6pfen, ohne die Leistung zu beeintr\u00e4chtigen.<\/p>\n<p>As cloud-native applications continue to grow in complexity and scale, mastering resource management in Docker will be increasingly valuable. With the right techniques and monitoring in place, you can create robust, efficient, and scalable applications that can thrive in a containerized environment. Whether you\u2019re managing a handful of containers or orchestrating thousands across a cluster, effective resource management is key to your success.<\/p>","protected":false},"excerpt":{"rendered":"<p>Die Festlegung von Ressourcengrenzen in Docker ist entscheidend f\u00fcr die Optimierung der Leistung und die Verhinderung von Ressourcenhungern. Verwenden Sie Flags wie `--memory`, `--cpus` und `--cpuset-cpus` beim Erstellen von Containern, um die CPU- und Speicherzuweisung effektiv zu verwalten.<\/p>","protected":false},"author":1,"featured_media":286,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-optimization-and-best-practices"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How do I set resource limits in Docker? - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/de\/optimization-and-best-practices\/so-legen-sie-ressourcenlimits-in-docker-festspeicherlimit-rambashdocker-run-d-memory512m-mein-imagesetzt-ein-limit-von-512-megabyte-ramcpu-limit-cpu-anteile-relat\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How do I set resource limits in Docker? - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Setting resource limits in Docker is essential for optimizing performance and preventing resource hogging. Use flags like `--memory`, `--cpus`, and `--cpuset-cpus` when creating containers to manage CPU and memory allocation effectively.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/de\/optimization-and-best-practices\/so-legen-sie-ressourcenlimits-in-docker-festspeicherlimit-rambashdocker-run-d-memory512m-mein-imagesetzt-ein-limit-von-512-megabyte-ramcpu-limit-cpu-anteile-relat\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-21T11:45:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"dockerpros\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"dockerpros\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/\"},\"author\":{\"name\":\"dockerpros\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\"},\"headline\":\"How do I set resource limits in Docker?\",\"datePublished\":\"2024-07-21T11:45:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/\"},\"wordCount\":1045,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg\",\"articleSection\":[\"Optimization and Best Practices\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/\",\"url\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/\",\"name\":\"How do I set resource limits in Docker? - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg\",\"datePublished\":\"2024-07-21T11:45:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg\",\"width\":800,\"height\":600,\"caption\":\"how-do-i-set-resource-limits-in-docker-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How do I set resource limits in Docker?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4\",\"name\":\"dockerpros\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442\",\"caption\":\"dockerpros\"},\"sameAs\":[\"https:\/\/dockerpros.com\/\"],\"url\":\"https:\/\/dockerpros.com\/de\/author\/dockerpros\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wie setze ich Ressourcenlimits in Docker? - Dockerpros\n\nDocker ist eine beliebte Containerisierungsplattform, die es Entwicklern erm\u00f6glicht, Anwendungen in isolierten Umgebungen namens Container zu verpacken und auszuf\u00fchren. Container sind leichtgewichtig und bieten eine konsistente Laufzeitumgebung, was sie ideal f\u00fcr die Bereitstellung und Skalierung von Anwendungen macht. Allerdings kann es bei der Ausf\u00fchrung mehrerer Container auf einem Host-System zu Ressourcenkonflikten kommen, wenn die Ressourcennutzung nicht ordnungsgem\u00e4\u00df verwaltet wird. In diesem Artikel werden wir untersuchen, wie man Ressourcenlimits in Docker setzt, um eine optimale Leistung und Stabilit\u00e4t sicherzustellen.\n\nWarum sind Ressourcenlimits wichtig?\n\nRessourcenlimits sind in Docker aus mehreren Gr\u00fcnden wichtig:\n\n1. Verhinderung von Ressourcenkonflikten: Ohne Ressourcenlimits k\u00f6nnen Container alle verf\u00fcgbaren Ressourcen auf dem Host-System verbrauchen, was zu Leistungsproblemen und sogar Abst\u00fcrzen f\u00fchren kann.\n\n2. Gew\u00e4hrleistung einer fairen Ressourcenzuteilung: Ressourcenlimits erm\u00f6glichen es Ihnen, bestimmten Containern Priorit\u00e4t einzur\u00e4umen und sicherzustellen, dass kritische Anwendungen \u00fcber ausreichende Ressourcen verf\u00fcgen.\n\n3. Verbesserung der Sicherheit: Durch die Begrenzung der Ressourcennutzung k\u00f6nnen Sie verhindern, dass b\u00f6swillige oder fehlerhafte Container das gesamte System beeintr\u00e4chtigen.\n\n4. Optimierung der Ressourcennutzung: Ressourcenlimits helfen Ihnen, die Ressourcennutzung zu optimieren, indem sie eine \u00dcberbeanspruchung verhindern und eine effiziente Zuteilung erm\u00f6glichen.\n\nWie setzt man Ressourcenlimits in Docker?\n\nDocker bietet mehrere Optionen zum Setzen von Ressourcenlimits. Hier sind einige der wichtigsten:\n\n1. CPU-Limits:\n   - --cpus: Legt die Anzahl der CPUs fest, die ein Container verwenden kann. Zum Beispiel: --cpus=\"2\" beschr\u00e4nkt den Container auf die Verwendung von 2 CPUs.\n   - --cpuset-cpus: Legt die spezifischen CPU-Kerne fest, die ein Container verwenden kann. Zum Beispiel: --cpuset-cpus=\"0,1\" beschr\u00e4nkt den Container auf die Verwendung der CPU-Kerne 0 und 1.\n\n2. Speicherlimits:\n   - --memory: Legt die maximale Speichermenge fest, die ein Container verwenden kann. Zum Beispiel: --memory=\"512m\" beschr\u00e4nkt den Container auf die Verwendung von 512 MB Speicher.\n   - --memory-swap: Legt die maximale Swap-Gr\u00f6\u00dfe fest, die ein Container verwenden kann. Zum Beispiel: --memory-swap=\"1g\" beschr\u00e4nkt den Container auf die Verwendung von 1 GB Swap-Speicher.\n\n3. Festplattenlimits:\n   - --storage-opt: Legt die maximale Gr\u00f6\u00dfe des Overlay-Dateisystems fest, das von einem Container verwendet wird. Zum Beispiel: --storage-opt=\"size=10G\" beschr\u00e4nkt den Container auf die Verwendung von 10 GB Festplattenspeicher.\n\n4. Netzwerklimits:\n   - --network: Legt das Netzwerk fest, das ein Container verwenden soll. Sie k\u00f6nnen verschiedene Netzwerk-Treiber wie bridge, host oder none verwenden, um die Netzwerkkonnektivit\u00e4t des Containers zu steuern.\n   - --oom-kill-disable: Deaktiviert das OOM-Killer-Verhalten f\u00fcr einen Container, was verhindert, dass der Container bei Speichermangel beendet wird.\n\nBeispiele f\u00fcr das Setzen von Ressourcenlimits:\n\n1. CPU-Limit:\n   ```\n   docker run --cpus=\"2\" my-container\n   ```\n\n2. Speicherlimit:\n   ```\n   docker run --memory=\"512m\" my-container\n   ```\n\n3. Festplattenlimit:\n   ```\n   docker run --storage-opt=\"size=10G\" my-container\n   ```\n\n4. Netzwerklimit:\n   ```\n   docker run --network=host my-container\n   ```\n\nFazit:\n\nDas Setzen von Ressourcenlimits in Docker ist entscheidend f\u00fcr die Aufrechterhaltung der Leistung, Stabilit\u00e4t und Sicherheit Ihrer containerisierten Anwendungen. Durch die Verwendung der verschiedenen Optionen, die Docker bietet, k\u00f6nnen Sie die Ressourcennutzung effektiv verwalten und eine optimale Ausf\u00fchrung Ihrer Container gew\u00e4hrleisten. Denken Sie daran, die Ressourcenlimits basierend auf den spezifischen Anforderungen Ihrer Anwendungen und der verf\u00fcgbaren Host-Ressourcen sorgf\u00e4ltig zu konfigurieren.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/de\/optimization-and-best-practices\/so-legen-sie-ressourcenlimits-in-docker-festspeicherlimit-rambashdocker-run-d-memory512m-mein-imagesetzt-ein-limit-von-512-megabyte-ramcpu-limit-cpu-anteile-relat\/","og_locale":"de_DE","og_type":"article","og_title":"How do I set resource limits in Docker? - Dockerpros","og_description":"Setting resource limits in Docker is essential for optimizing performance and preventing resource hogging. Use flags like `--memory`, `--cpus`, and `--cpuset-cpus` when creating containers to manage CPU and memory allocation effectively.","og_url":"https:\/\/dockerpros.com\/de\/optimization-and-best-practices\/so-legen-sie-ressourcenlimits-in-docker-festspeicherlimit-rambashdocker-run-d-memory512m-mein-imagesetzt-ein-limit-von-512-megabyte-ramcpu-limit-cpu-anteile-relat\/","og_site_name":"Dockerpros","article_published_time":"2024-07-21T11:45:23+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg","type":"image\/jpeg"}],"author":"dockerpros","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"dockerpros","Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#article","isPartOf":{"@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/"},"author":{"name":"dockerpros","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4"},"headline":"How do I set resource limits in Docker?","datePublished":"2024-07-21T11:45:23+00:00","mainEntityOfPage":{"@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/"},"wordCount":1045,"commentCount":0,"publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"image":{"@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg","articleSection":["Optimization and Best Practices"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/","url":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/","name":"Wie setze ich Ressourcenlimits in Docker? - Dockerpros\n\nDocker ist eine beliebte Containerisierungsplattform, die es Entwicklern erm\u00f6glicht, Anwendungen in isolierten Umgebungen namens Container zu verpacken und auszuf\u00fchren. Container sind leichtgewichtig und bieten eine konsistente Laufzeitumgebung, was sie ideal f\u00fcr die Bereitstellung und Skalierung von Anwendungen macht. Allerdings kann es bei der Ausf\u00fchrung mehrerer Container auf einem Host-System zu Ressourcenkonflikten kommen, wenn die Ressourcennutzung nicht ordnungsgem\u00e4\u00df verwaltet wird. In diesem Artikel werden wir untersuchen, wie man Ressourcenlimits in Docker setzt, um eine optimale Leistung und Stabilit\u00e4t sicherzustellen.\n\nWarum sind Ressourcenlimits wichtig?\n\nRessourcenlimits sind in Docker aus mehreren Gr\u00fcnden wichtig:\n\n1. Verhinderung von Ressourcenkonflikten: Ohne Ressourcenlimits k\u00f6nnen Container alle verf\u00fcgbaren Ressourcen auf dem Host-System verbrauchen, was zu Leistungsproblemen und sogar Abst\u00fcrzen f\u00fchren kann.\n\n2. Gew\u00e4hrleistung einer fairen Ressourcenzuteilung: Ressourcenlimits erm\u00f6glichen es Ihnen, bestimmten Containern Priorit\u00e4t einzur\u00e4umen und sicherzustellen, dass kritische Anwendungen \u00fcber ausreichende Ressourcen verf\u00fcgen.\n\n3. Verbesserung der Sicherheit: Durch die Begrenzung der Ressourcennutzung k\u00f6nnen Sie verhindern, dass b\u00f6swillige oder fehlerhafte Container das gesamte System beeintr\u00e4chtigen.\n\n4. Optimierung der Ressourcennutzung: Ressourcenlimits helfen Ihnen, die Ressourcennutzung zu optimieren, indem sie eine \u00dcberbeanspruchung verhindern und eine effiziente Zuteilung erm\u00f6glichen.\n\nWie setzt man Ressourcenlimits in Docker?\n\nDocker bietet mehrere Optionen zum Setzen von Ressourcenlimits. Hier sind einige der wichtigsten:\n\n1. CPU-Limits:\n   - --cpus: Legt die Anzahl der CPUs fest, die ein Container verwenden kann. Zum Beispiel: --cpus=\"2\" beschr\u00e4nkt den Container auf die Verwendung von 2 CPUs.\n   - --cpuset-cpus: Legt die spezifischen CPU-Kerne fest, die ein Container verwenden kann. Zum Beispiel: --cpuset-cpus=\"0,1\" beschr\u00e4nkt den Container auf die Verwendung der CPU-Kerne 0 und 1.\n\n2. Speicherlimits:\n   - --memory: Legt die maximale Speichermenge fest, die ein Container verwenden kann. Zum Beispiel: --memory=\"512m\" beschr\u00e4nkt den Container auf die Verwendung von 512 MB Speicher.\n   - --memory-swap: Legt die maximale Swap-Gr\u00f6\u00dfe fest, die ein Container verwenden kann. Zum Beispiel: --memory-swap=\"1g\" beschr\u00e4nkt den Container auf die Verwendung von 1 GB Swap-Speicher.\n\n3. Festplattenlimits:\n   - --storage-opt: Legt die maximale Gr\u00f6\u00dfe des Overlay-Dateisystems fest, das von einem Container verwendet wird. Zum Beispiel: --storage-opt=\"size=10G\" beschr\u00e4nkt den Container auf die Verwendung von 10 GB Festplattenspeicher.\n\n4. Netzwerklimits:\n   - --network: Legt das Netzwerk fest, das ein Container verwenden soll. Sie k\u00f6nnen verschiedene Netzwerk-Treiber wie bridge, host oder none verwenden, um die Netzwerkkonnektivit\u00e4t des Containers zu steuern.\n   - --oom-kill-disable: Deaktiviert das OOM-Killer-Verhalten f\u00fcr einen Container, was verhindert, dass der Container bei Speichermangel beendet wird.\n\nBeispiele f\u00fcr das Setzen von Ressourcenlimits:\n\n1. CPU-Limit:\n   ```\n   docker run --cpus=\"2\" my-container\n   ```\n\n2. Speicherlimit:\n   ```\n   docker run --memory=\"512m\" my-container\n   ```\n\n3. Festplattenlimit:\n   ```\n   docker run --storage-opt=\"size=10G\" my-container\n   ```\n\n4. Netzwerklimit:\n   ```\n   docker run --network=host my-container\n   ```\n\nFazit:\n\nDas Setzen von Ressourcenlimits in Docker ist entscheidend f\u00fcr die Aufrechterhaltung der Leistung, Stabilit\u00e4t und Sicherheit Ihrer containerisierten Anwendungen. Durch die Verwendung der verschiedenen Optionen, die Docker bietet, k\u00f6nnen Sie die Ressourcennutzung effektiv verwalten und eine optimale Ausf\u00fchrung Ihrer Container gew\u00e4hrleisten. Denken Sie daran, die Ressourcenlimits basierend auf den spezifischen Anforderungen Ihrer Anwendungen und der verf\u00fcgbaren Host-Ressourcen sorgf\u00e4ltig zu konfigurieren.","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg","datePublished":"2024-07-21T11:45:23+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/how-do-i-set-resource-limits-in-docker_225.jpg","width":800,"height":600,"caption":"how-do-i-set-resource-limits-in-docker-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/optimization-and-best-practices\/how-do-i-set-resource-limits-in-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"How do I set resource limits in Docker?"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Docker-Profis","description":"DockerPros \u2013 Ihr umfassender Docker-Ressourcen-Hub","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Docker-Profis","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/a9b4c3d7f7a8e2b072e77d47b382a3a4","name":"dockerpros","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/#\/schema\/person\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442","contentUrl":"https:\/\/dockerpros.com\/wp-content\/litespeed\/avatar\/d13b9d4f101de1a7535b404e0c59affd.jpg?ver=1779972442","caption":"dockerpros"},"sameAs":["https:\/\/dockerpros.com\/"],"url":"https:\/\/dockerpros.com\/de\/author\/dockerpros\/"}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/comments?post=225"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/posts\/225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media\/286"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media?parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/categories?post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/tags?post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}