docker容器基础(一)--容器的边界

发布时间 2023-07-31 16:06:39作者: 那个人后来

前言


------源于PaaS技术的普及而兴起的容器技术,必然随着诸多云平台的出现大放光彩。Docker 项目通过“容器镜像”,解决了应用打包这个根本性难题。

容器是什么?


------容器是一种沙盒技术,将你的应用装入盒子,即与其他应用进行了隔离,又便于搬运。

容器的边界


------容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”。进程的动态表现为程序运行时计算机中相关的数据和状态的总和。

Namespace 技术

容器是个特殊的进程,在启动时设置Namespae可选参数,使其只能“看到”限定的资源、文件、设备、状态,或者配置。

  • PID Namespace
    用于隔离进程PID信息。

  • Mount Namespace
    用于隔离进程挂载点信息。

  • UTS Namespace
    提供进程主机名或域名隔离能力。

  • IPC Namespace
    提供进程间通信隔离能力。

  • Network Namespace
    用于隔离进程的网络设备和配置。

  • User Namespace
    提供进程用户隔离能力。

Cgroups 技术

Linux Cgroups 是 Linux 内核中用来为进程设置资源限制的一个重要功能,限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。此外,Cgroups 还能够对进程进行优先级设置、审计,以及将进程挂起和恢复等操作。