默认情况下,容器可以使用无限的 host 资源 — 这存在一个容器饥饿其他容器或导致 host 崩溃的风险。Docker 让您设置资源限制(CPU、内存)来控制消耗,这对生产环境中的稳定性和公平的资源共享至关重要。
问题:无界的资源使用
BY DEFAULT a container can consume ALL available host CPU and memory:
→ a buggy/busy container (memory leak, runaway loop) can starve other containers
or crash the entire host (out of memory)
→ In production (multiple containers per host), LIMIT resources to isolate them.
设置内存和 CPU 限制
docker run -m 512m myapp
docker run -m 512m --memory-reservation 256m myapp
docker run --cpus= myapp
docker run --cpu-shares=512 myapp
