Alliot's blog

Docker依赖的Linux内核特性

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 这里记录一些基本的概念

Docker依赖的Linux内核特性

Namespaces 命名空间

  • PID (process ID) 进程ID隔离
  • NET(network) 管理网络端口
  • IPC(InterProcess Communication)
  • 管理跨进程通信的访问
  • MNT(Mount) 管理挂载点
  • UTS(Unix Timesharing System) 隔离内核和版本标识
  • Control groups(c groups) 控制组

Control groups(c groups) 控制组

  • 资源限制
  • 优先级设定
  • 资源计量
  • 资源控制
  • 用来分配资源
  • 来源于Google
  • Linux kernel 2.6.24 @ 2007

Docker容器的能力

  • 文件系统隔离:每个容器都有自己的root文件系统。
  • 进程隔离:每个容器都运行在自己的进程环境中。
  • 网络隔离:容器间的虚拟网络接口和IP地址都是分开的。
  • 资源隔离和分组:使用cgroup将CPU和内存之类的资源独立分配给每个Docker容器。
------ 本文结束 ------

本文标题:Docker依赖的Linux内核特性

文章作者:Alliot

发布时间:2017年02月05日 - 18:02

最后更新:2018年04月06日 - 00:04

原始链接:https://www.iots.vip/post/linux-docker-1.html

许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 转载请保留原文链接及作者。

如果此文为您解决燃眉之急或是带来些许明朗,不妨打赏Alliot一杯香茗或是一杯咖啡