容器默认是资源不限制的,如果无休止的向宿主机申请资源,就可能会导致宿主机资源被耗尽。内存方面就是导致OOM out of memory 异常。
容器防止OOM
run 一个容器时, -加上-restart=always,就是为了在容器被OOM时,会重启
内存限制
-m 限制内存大小
docker run --help -m, --memory bytes Memory limit --oom-kill-disable Disable OOM Killer
cpu限制
可以限制相对cpu权重,或者给到的最大cpu核数
docker run --help|grep cpu -c, --cpu-shares int CPU shares (relative weight) --cpus decimal Number of CPUs