docker容器中挂载宿主机文件不全_Docker容器实战(七) - 容器中进程视野下的文件系统...

全是干货的技术公众号

0231af28a44e204c96573c93995522f9.png

前两文中,讲了Linux容器最基础的两种技术

  • Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界”
  • Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙

这么一搞,进程就真的被“装”在了一个与世隔绝的房间里,而这些房间就是PaaS项目赖以生存的应用“沙盒”。

还有一个问题是:墙外的我们知道他的处境了,墙内的他呢?

1 容器里的进程眼中的文件系统

也许你会认为这是一个关于Mount Namespace的问题 容器里的应用进程,理应看到一份完全独立的文件系统。这样,它就可以在自己的容器目录(比如/tmp)下进行操作,而完全不会受宿主机以及其他容器的影响。

那么,真实情况是这样吗?

“左耳朵耗子”叔在多年前写的一篇关于Docker基础知识的博客里,曾经介绍过一段小程序。 这段小程序的作用是,在创建子进程时开启指定的Namespace。

下面,我们不妨使用它来验证一下刚刚提到的问题。

#define _GNU_SOURCE#include  #include #include #include #include #include #include #define STACK_SIZE (1024 * 1024)static char container_stack[STACK_SIZE];char* const container_args[] = { "/bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值