Docker swarm 资源预留

问题描述 投票:0回答:1

我试图了解 Docker Swarm 资源预留与资源限制相比的作用。具体来说,我想知道是否可以使用资源预留来保证长时间运行的服务始终能够访问指定数量的 CPU 和内存(例如 x CPU 和 y 内存),而不会被竞争服务阻塞。

有关 Docker 资源限制的文档表明,内存预留更多地充当软限制而不是硬保证。 Docker Swarm 中的资源预留究竟是如何工作的?它是否可以用于以这种方式确保服务的专用资源?

docker-swarm
1个回答
0
投票
这里有一个术语“重载”,确实令人困惑。您链接到的文档是指应用于单个 Docker 容器(无论 Swarm)的参数。这两个限制都是上限,即它们不保证内存的预留,而是定义了在容器消耗的内存超过指定值的情况下要做什么。

在 Swarm 中,您可以在

--reserve-memory

 命令上使用 
docker service create
 标志。这将确保有足够的内存来启动服务:

docker service create \ --reserve-memory 250MB \ --name my-nginx \ --replicas 5 \ nginx
来源:

https://docs.docker.com/engine/swarm/services/#reserve-memory-or-cpus-for-a-service

© www.soinside.com 2019 - 2024. All rights reserved.