学习内容整理笔记来自 极客学院的 docker 入门教程,更多信息查看 Docker 文档
三. Docker 容器相关技术简介
Docker 容器依赖于 Linux 内核的两个重要特性
- Namespaces 命名空间
- Control groups(Cgroups)控制组
了解这两个特性能够更好地帮助我们更好的理解 Docker 容器的资源分配和管理。
1.Namespaces 命名空间
很多编程语言都有命名空间的概念,可以认为命名空间是一种封装的概念。而封装本身实际上实现的就是代码隔离。那么,在操作系统中,命名空间提供了系统资源的隔离。其中,系统资源包括了进程、网络以及文件系统等等。实际上,Linux 内核实现命名空间的主要目的之一就是实现轻量级虚拟化服务(即所说的容器)。在同一个命名空间下的进程可以感知彼此的变化。而对其他命名空间下的进程一无所知。这样就可以让容器中的进程产生错觉,仿佛它自己置身于一个独立的系统环境中。以此达到彼此独立和隔离的目的。
Docker 使用 5 种命名空间
- PID (Process ID ):提供进程的隔离
- NET(Network):管理网络借口
- IPC(InterProcess Communication):管理跨进程通信的访问
- MNT&#