加载中...
命名空间(namespace)是 Linux 内核的资源视图隔离机制:不同命名空间中的进程看到的是彼此独立的一套系统资源,如进程号、网络栈、挂载点等。
Linux 目前提供八种命名空间:PID(进程号)、NET(网络设备与协议栈)、MNT(挂载点)、UTS(主机名)、IPC(System V IPC 与消息队列)、USER(用户与权限映射)、CGROUP(cgroup 根视图)和 TIME(系统时钟偏移)。
通过 clone、unshare、setns 等系统调用创建或加入命名空间。USER 命名空间允许非特权用户在隔离环境内拥有"root"身份,是无根容器(rootless container)的基础。
命名空间与 cgroups 组合构成了 Docker、LXC 等容器技术的内核基石:命名空间负责"看不见",cgroups 负责"用不多"。
登录 后参与讨论
暂无讨论,来发表第一条评论吧