本文共 780 字,大约阅读时间需要 2 分钟。
完成容器的隔离
底层api接口 clone(func, stack, flags, clone_arg) flags: CLONE_NEWPID, CLONE_NEWNS(mount 相关?), CLONE_NEWUSER, CLONE_NEWNET, CLONE_NEWIPC, CLONE_NEWUTS相关的系统调用:
clone, setns, unshare setns 可以将一个任务放到一个特定的namespace中cat /proc/pid/ns
后面博客在分析介绍namespace原理
完成资源的分配
echo $pid > /sys/fs/cgroup/cpu/tasks echo $pid > /sys/fs/cgroup/cpuset/tasks … cpu, cpuset, blkio, cpuacct, devices, freezer, memorypivot_root(“path_of_rootfs/”, path);
exec("/bin/bash")负责如上三个流程的控制以及生命周期管理
docker 进阶与实战
转载地址:http://jsloi.baihongyu.com/