小编Lel*_*tir的帖子

如何限制Docker总资源?

我试图限制可从 docker 访问的总资源(例如只有 90% 的 RAM 和 1500% 的 CPU)。我在启动容器时无法使用 CPU 和 RAM 限制,这就是为什么我需要限制可用于 docker 容器的总资源。

我有大约 20 个容器,它们可以消耗最大 CPU 和内存但不能同时消耗,所以我无法设置 CPU 和 RAM 限制,这就是为什么我需要限制 docker 使用的总资源

首先,我创建了一个切片:我尝试了上面的指令,但无法同时限制 RAM 和 CPU 使用率

# /etc/systemd/system/docker_limit.slice
[Unit]
Description=Slice that limits docker resources
Before=slices.target

[Slice]
CPUAccounting=true
CPUQuota=700%
#Memory Management
MemoryAccounting=true
MemoryHigh=20G
MemoryMax=25G
MemoryMaxSwap=10G
Run Code Online (Sandbox Code Playgroud)

还有我的 daemon.json

{
  "insecure-registries" : [ "url1", "url2"],
  "cgroup-parent": "docker_limit.slice"
}
Run Code Online (Sandbox Code Playgroud)

但是当我从容器中尝试时:

stress --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1
Run Code Online (Sandbox Code Playgroud)

我可以从 docker stats 中看到它使用的是 111Go …

rhel systemd docker

15
推荐指数
3
解决办法
5929
查看次数

标签 统计

docker ×1

rhel ×1

systemd ×1