默认情况下,Docker容器可以使用主机的所有内存。
启动Docker容器时,若没有设置memory和memory-swap选项,则该容器可以使用主机的所有内存,没有限制。
限制容器内存大小;
docker run -d -i -t -m 256M --memory-swap 512M --name centos centos /bin/bash
说明:
-m, --memory
# 内存限制大小,单位可以为 b,k,M,g;最小为4M
--memory-swap
# 内存+交换分区大小总限制
--memory-reservation # 预留内存大小;容器在宿主机最小占用内存;
--oom-kill-disable
# out-of-memory 内存溢出;限制kill容器进程,默认没设置
--oom-score-adj
# 容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0
--memory-swappiness
# 用于设置容器的虚拟内存控制行为。值为 0~100 之间的整数
--kernel-memory
核心内存限制,最小为 4M。