news 2026/6/10 19:48:18

Docker容器隔离(namespace+cgroups)-底层原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker容器隔离(namespace+cgroups)-底层原理

文章目录

  • Docker容器隔离
  • 1.namespace-进程通信限制
  • 2. cgroups-资源限制
    • 资源隔离参数示例
    • 资源隔离使用方式
    • cgroups四大功能
  • 测试时注意
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

Docker容器隔离

1.namespace-进程通信限制

命名空间简介:

命名空间是 Linux 内核提供的一种机制,用于将系统资源(如进程、网络、文件系统等)隔离开来,使得在一个命名空间中的资源对其他命名空间不可见或不可访问。

namespace :是 linux 中用来隔离进程的手段,容器就是使用该技术来进行隔离的。

可以把进程当做是对讲机,而 namespace 就是频段。两个对讲机(进程)要互相通信就需要调整到相同的频段上(namespace)。

namespace:进程间通信隔离

# 1.启动一个容器# 2. 进入虚拟文件系统,查看进程信息# proc文件夹下会有多个名称是数字的文件夹-每个数字文件夹就是一个进程cd/proc/5131# 3. 进入进程信息文件夹,包含容器中各种命名空间cdns

进程文件夹命名空间信息:


根据命名空间隔离的内容如下:
ipc: 进程间通信命名空间
mnt:文件挂载命名空间
net: 网络命名空间
pid: 进程id名称空间
user: 用户名称空间

故障注入可以使用到命名空间

2. cgroups-资源限制

cgroups :是 linux 用来限制进程使用资源的手段。容器也是利用这个技术进行资源的隔离。

#查看当前系统的 cgroupsmount-t cgroups

cgroups: 资源隔离

资源隔离参数示例

资源类型Docker 参数示例作用
CPU--cpus=1.5--cpu-quota最多使用 1.5 个 CPU 核心
内存-m 2g--memory=2048m最多使用 2GB 内存,超了会被 kill
磁盘 IO--blkio-weight限制磁盘读写速度
进程数--pids-limit=100最多只能起 100 个进程

资源隔离使用方式

使用方式:在docker run启动容器时指定参数即可;如-m, -cpus
资源隔离一般限制内存和cpu

# 在容器运行时,直接使用参数指定资源限制# 限制内存512兆,cpu两核dockerrun --name=nginx -d -m 512m --cpus=2nginx

【注】k8s通过cgroups计算剩余资源,编写简单脚本,计算剩余资源,但也是使用的cgroups

cgroups四大功能

  1. 资源限制:可以对任务使用的资源总额进行限制。
  2. 优先级分配:通过分配cpu时间片数量以及磁盘IO带宽大小,实际上相当于控制了任务运行 优先级。
  3. 资源统计:可以统计系统的资源使用量,如cpu时长,内存用量等。
  4. 任务控制:cgroups可以对任务执行挂起,恢复等操作。

测试时注意

概念作用测试场景
Namespace隔离环境多版本并行测试、避免端口/进程冲突
Cgroups限制资源模拟弱机环境、防止资源耗尽、稳定性测试
场景你能做什么
故障注入人为限制内存/CPU,观察系统降级或告警是否正常
性能测试确保测试容器不会吃光宿主机资源影响其他任务
日志/监控通过/sys/fs/cgroup/查看容器实际资源消耗(高级)

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:59:55

新人采购第一课:怎么说,供应商才会听你?

作为新人采购,你是不是也遇到过这种情况: 发了邮件,三天不回;打了电话,前台一句“领导很忙”就挂了;好不容易约上了供应商,对方一句“我们现在挺好,暂时不考虑换”, 你…

作者头像 李华
网站建设 2026/6/10 17:45:03

AI2开源SERA:简化编程代理训练,让私人代码库拥有定制化AI助手

这项由艾伦人工智能研究所(Allen Institute for AI)联合华盛顿大学和卡内基梅隆大学共同完成的研究于2025年1月28日发表,论文编号为arXiv:2601.20789v1。有兴趣深入了解的读者可以通过该编号查询完整论文。在AI编程助手日益普及的今天&#x…

作者头像 李华
网站建设 2026/6/10 10:35:25

2026最新《AI大模型应用开发学习资源包》最全学习路线、从入门到精通视频教程、实战案例与资源汇总(非常详细建议收藏)

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万! 伴随着人才需求增大&#x…

作者头像 李华
网站建设 2026/6/10 15:52:03

回顾:cbow连续词袋与词嵌入

目录 一、先明确核心目标: 二、逐段拆解:代码的每一步,都藏着知识点 第一步:导入依赖库,做好准备工作 第二步:语料预处理——把原始文本变成模型能“看懂”的数据 第三步:生成训练数据——…

作者头像 李华
网站建设 2026/6/10 4:10:17

【总结】25年最常用的10个AI工具推荐

进入26年,一直想做一个25年使用的AI工具盘点,毕竟在25年真的用了不少的AI工具,但是有很多其实都是一时兴起尝试的,能留下来的少之又少,留下来的都是默默帮助我把工作做得漂亮的,希望今年你也能够用上顺手的…

作者头像 李华