namespace 名称空间
docker容器主要通过资源隔离来实现的,应该具有的6种资源隔
namespace 的六项隔离
namespace | 系统调用参数 | 隔离的内容 |
UTS | CLONE_NEWUTS | 主机名域名 |
IPC | CLONE_NEWIPC | 信号量、消息队列与共享内存 |
PID | CLONE_NEWPID | 进程编号 |
Network | CLONE_NEWNET | 网络设备、网络栈、端口等 |
MOUNT | CLONE_NEWNS | 挂载点 |
USER | CLONE_NEWUSER | 用户与组 |
如何查看docker容器的namespace:
1. docker ps拿到containerID
containerID: 25bc67c6b18c
2. 有三种常用方式查看docker在宿主机的PID:
1) 直接查看文件cat /sys/fs/cgroup/memory/docker/<container ID>/cgroup.procs
2)docker container top <containerID>
docker container top <containerID>
3) docker inspect -f '{{.State.Pid}}' <containerID>
3. 拿到进程ID后,执行ll /proc/<PID>/ns/ 可查看docker启用的具体Namespace参数
cd /proc/PID
sudo ls
cd ns