Docker容器技术简介

Docker依赖的Linux内核特性
  • namespaces命名空间
  • Control groups(cgroups)控制组
namespaces 命名空间

对于编程语言来说,命名空间提供的是封装性,使得代码有效的进行隔离。
对于操作系统来说,命名空间提供的是系统资源的隔离(进程、网络、文件系统···)

Docker使用了5种命名空间进行资源隔离

1. PID(process ID) 进程隔离
2. NET(Network) 管理网络接口
3. IPC(Inter Process Communication) 管理跨进程通信的访问
4. MNT(Mount) 管理挂载点
5. UTS(Unix Timesharing System) 隔离内核和版本标识
Control groups 控制组

用于管理通过命名空间隔离的资源。

cgroups的能力

1. 资源限制
2. 优先级设定
3. 资源计量
4. 资源控制

Docker容器的能力

文件系统隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器间的虚拟网络接口和IP地址都是分开的
资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Docker容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定。整理了部分Docker的学习笔记以及新...
    __七把刀__阅读 11,599评论 0 58
  • 一、Docker简介 什么是容器 ? 一种虚拟化的方案 操作系统级别的虚拟化 只能运行相同或相似的内核操作系统 依...
    程序员果果阅读 824评论 0 18
  • 什么是Docker 在容器技术中,我们讲到了Docker就是一个应用容器引擎,可以将应用及依赖打包,然后发布到Li...
    dy2903阅读 1,037评论 0 1
  • Docker 的体系结构 docker 使用 C/S 架构,docker daemon 作为 server 端接受...
    凤落溪凰落地阅读 1,694评论 0 2
  • • 1 同理心训练:怎样理解愉悦与不爽 ○ 情绪的重要性 ○ 生活中:感性的情绪是底层的,一旦崩溃,上层的知识、技...
    陈之然阅读 413评论 0 0

友情链接更多精彩内容