gpt4 book ai didi

docker - 我可以限制每个 docker 容器使用的内存和 cpu 吗?

转载 作者:行者123 更新时间:2023-12-02 18:15:06 26 4
gpt4 key购买 nike

我想知道是否有办法限制或限制 docker 容器在主机级别使用的最大内存和处理能力。我的印象是内存选项仅在容器启动时添加提供的内存,但不会永久限制它。

当我将容器与 dotnet 应用程序(托管 dll)、mono'd/wine'd exes、java 应用程序和 linux 守护程序一起使用时,如果我能确保,例如,继续 Java 内存分配不会使其他容器崩溃。我现在为这些容器使用 java 内存选项(xms、xmx),并且与其他容器类似。我缺少一个基于 docker 的系统来管理和监控 cpu 和内存。此外,内存和 cpu 的百分位缩放将很有用,允许一个容器在高峰时刻获取大量的处理能力和内存。我可以在主机进程级别进行监控,而不是在 docker 级别。

我什至还没有谈论多主机设置(swarm、rancher、kubernetes)。还是我的问题一般?

最佳答案

docker run 命令包括options to limit memory and cpu ,尤其是 -c-m 选项。

使用 compose 文件和 swarm 模式(可以是单节点 swarm 集群),这些配置为 resources section per service :

version: '3'
services:
redis:
image: redis:alpine
deploy:
resources:
limits:
cpus: '0.50'
memory: 50M
reservations:
cpus: '0.25'
memory: 20M

对于 docker-compose 支持,您可以使用 version 2 syntax类似的结果:

version: '2.2'
services:
test:
image: busybox:latest
command: tail -f /dev/null

cpus: '0.50'
mem_limit: '50M'

关于docker - 我可以限制每个 docker 容器使用的内存和 cpu 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50407982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com