92·深入原理高级

Linux Namespaces

Linux Namespaces

核心概念

Namespace = 隔离系统资源
容器的本质就是受限的 Linux 进程

Namespace 类型

类型隔离内容
PID进程 ID
NET网络栈
MNT文件系统挂载
UTS主机名
IPC进程间通信
USER用户 ID
CGROUPcgroup 根目录

查看 Namespace

# 查看进程的 namespace
ls -la /proc/$$/ns/

# 查看容器的 namespace
docker inspect --format='{{.State.Pid}}' my-app
ls -la /proc/<PID>/ns/

手动创建 Namespace

# 使用 unshare 命令
unshare --pid --net --mount --uts --ipc --fork /bin/sh

小结

Namespace隔离
PID进程 ID 空间
NET网络
MNT文件系统
UTS主机名

练习编辑器

bash
Loading...