Docker资源限制

我们在容器中运行docker镜像的时候,可以指定一些设置容器cpu和内存的相关参数来进行限制,这样子尽量把容器资源做的相对稳定一些。这些参数是在docker run/create命令使用,比如:

--memory-swap * 强依赖于--memory选项,但是--memory可单独使用,下面这个图片是我列举一些swap的使用规则

提示:我们设置使用的swap最好选择固态硬盘来进行加速。

--cpus=number:限制使用cpu的核心数。

--cpuset-cpus:限制使用在哪些个cpu上,跟httpd服务器的位图掩码表示法的功能一样。

--cpu-shares:表示cpu权重。

--oom-kill-disable:表示禁止被oom给kill掉。

--oom-score-adj number:其中number的值是-1000到1000,我们可以设置的尽量低,从而得分比较低,这样子会最小几率被oom给kill掉。

案例演示:

首先下载一个压测docker容器的镜像:

[root@elk-chaofeng08 ~]# docker pull lorel/docker-stress-ng
Using default tag: latest
latest: Pulling from lorel/docker-stress-ng
c52e3ed763ff: Pull complete 
a3ed95caeb02: Pull complete 
7f831269c70e: Pull complete 
Digest: sha256:c8776b750869e274b340f8e8eb9a7d8fb2472edd5b25ff5b7d55728bca681322
Status: Downloaded newer image for lorel/docker-stress-ng:latest

1、给内存限制

2、

效果如图所示:

2、给cpu压测

效果如图所示:

3、--cpu-shares的用法:

一般设置的cpu-shares为512的倍数。然后多个容器进行比例分配cpu资源。

原文地址:https://www.cnblogs.com/FengGeBlog/p/10582519.html