一个容器把 CPU/内存吃满,同机其它容器全被拖死。设上限是基本的邻里责任。
示例配置
docker run -d --memory=512m --cpus=1.0 myapp
# compose
deploy:
resources:
limits:
memory: 512M
cpus: 1.0
要点速览
- --memory 硬上限,超了 OOM 杀的是这个容器而非整机。
- --cpus 限核数,避免单容器占满调度。
- 生产务必设限,别信「它应该不会用那么多」。
不设资源上限的容器,是主机稳定性的定时炸弹。