docker可以在docker run或者docker build 的时候,设置这些选项,设置的选线和规则如下:
内存
-m 或 –memory :
–memory-swap * :此命令依赖于-m
CPU
CPU为按比例分配
–cpus= 使用value核cpu,比如cpu为双核,可以设置–cpus=”1.5″,表示有1.5核cpu分配给该容器
–cup-shares:当有多个docker的时候,所有docker按比例分配cpu资源,如果其他docker空闲的话,仅有一个docker繁忙,则他可以用完所有cpu
–cpuset-cpus:指定docker运行在哪个cpu上,比如,4核cpu编号为[0-3]
默认设置下,所有容器可以平等地使用主机 CPU 资源并且没有限制。docker 可以通过-c或–cpu-shares设置容器使用 CPU 的权重。如果不指定,默认值为 1024。
测试内存
docker run --name s1 -it --rm -m 256m lorel/docker-stress-ng stress --vm 2
使用以上命令启动一个最多使用256m内存的容器,虽然进入到容器查看总内存跟物理内存一致,但是使用docker stats s1可以看到最多只能使用256m内存