深入了解Docker背后的namespace技术
时候,我们往往不能预想到最终结果全貌。不论怎样,我们就把 CLONE_NEWNS添加到clone_flags变量中,结果就是, int clone_flags = CLONE_NEWNS | SIGCHLD;,再来编译mount.c并运行同样的命令。 > cp skeleton.c mount.c > gcc -o mount mount.c > ./mount mount 这次没有任何变化,为何?因为运行在新的mount namespace中的进程,在底层系统下仍然拥有一个/proc视图。结果就是新的进程继承了底层挂载点的视图。我们有一些方法来阻止出现这样的结果,比如说,使用 pivot_root,将在后续的博客中详细介绍。 然而,有一种方法,我们可以尝试在新的mount...阅读全文