飞天使-docker知识点5-资源限制与容器的不同状态

2023-12-14 19:47:38

cpu和内存的限制
默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的
给定资源,Docker 提供了控制容器可以限制容器使用多少内存或 CPU 的方法,
设置 docker run 命令的运行时配置标志


对于 Linux 主机,如果没有足够的内容来执行其他重要的系统任务,将会抛出
OOM (Out of Memory Exception,内存溢出、内存泄漏、内存异常), 随后系
统会开始杀死进程以释放内存,凡是运行在宿主机的进程都有可能被 kill,包括
Dockerd 和其它的应用程序,如果重要的系统进程被 Kill,会导致和该进程相关
的服务全部宕机


/proc/PID/oom_score_adj #范围为-1000 到 1000,值越高越容易被宿主机
kill 掉,如果将该值设置为-1000,则进程永远不会被宿主机 kernel kill。
/proc/PID/oom_adj #范围为-17 到+15,取值越高越容易被干掉,如果是-17,
则表示不能被 kill,该设置参数的存在是为了和旧版本的 Linux 内核兼容。
/proc/PID/oom_score #这个值是系统综合进程的内存消耗量、CPU 时间
(utime + stime)、存活时间(uptime - start time)和 oom_adj 计算出的进程得
分,消耗内存越多得分越高,越容易被宿主机 kernel 强制杀死。
内存限制的部分参数
-m or --memory #容器可以使用的最大内存量,如果设置此选项,则允许的
最小存值为 4m (4 兆字节)。

--memory-swap #容器可以使用的交换分区大小,必须要在设置了物理内存
限制的前提才能设置交换分区的限制


容器的不同状态
仔细看图

在这里插入图片描述

docker images 的分层

在这里插入图片描述
在这里插入图片描述

docker registry

在这里插入图片描述

制作镜像

在这里插入图片描述

参考资料: 马哥

文章来源:https://blog.csdn.net/startfefesfe/article/details/134992344
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。