deploy.resources.limits.memory
version: '3.8' # 建议使用 3.7+ 版本
services:
your-app:
image: your-image:latest
deploy:
resources:
limits:
memory: 512M # 硬限制:最大可用内存(必填)
cpus: '0.5' # 配套 CPU 限制(建议同时设置)
reservations:
memory: 256M # 软限制:资源充足时可分配的最小内存(可选,建议)
# 其他配置(ports, volumes 等)
关键注意事项
- v3 版本单机生效:直接用
deploy字段;若需兼容 Swarm 模式,保持该配置不变。 - 单位规范:支持
b/k/m/g(字节 / 千字节 / 兆字节 / 吉字节),例如1G、2048M。 - 软限制搭配:
reservations.memory建议设为硬限制的 50%-80%,资源紧张时优先保障,避免容器被过早回收。 - 验证配置:
- 启动容器:
docker-compose up -d - 检查限制:
docker stats或docker inspect 容器ID | grep Memory
- 启动容器:
- 常见坑:
- 给数值加引号(如
memory: "512M")会导致解析失败; - 遗漏
deploy字段或版本错误会导致限制不生效。
- 给数值加引号(如
Categories:
docker与kubernetes