学习优先级:★★★★★
易用性:★★★☆☆
每个容器都应该有明确的 CPU 和内存使用限制,以确保容器不会占用整个系统的资源。这在扩展和运行微服务时尤为重要。
以下是一个示例,展示了如何在 docker-compose.yml 文件中为容器定义资源限制。
示例代码
version: '3'
services:
web:
image: nginx
deploy:
resources:
limits:
cpus: '0.5' # 限制 CPU 使用量为 50%
memory: '512M' # 限制内存使用量为 512 MB
执行结果
运行 docker-compose up 后,web 容器启动,并且最多使用 50% 的 CPU 和 512 MB 内存。
补充说明
定义资源限制可以确保容器不会超过分配的 CPU 或内存资源。这对于生产环境至关重要,因为需要在多个容器之间分配资源。如果没有这些限制,一个容器可能会耗尽系统资源并影响其他服务。
定义资源限制可以提高系统的稳定性和可预测性。在 Docker 中,可以设置 limits(硬性限制)和 reservations(最小资源分配)。