Docker容器的本质,如何实现的 资源隔离、资源限制

docker 容器本质:
  1. 容器其实就是Linux下一个特殊的进程;

  2. Docker容器通过namespace实现进程隔离通过cgroups实现资源限制;

  3. Docker镜像(rootfs)是一个操作系统的所有文件和目录而不包括内核,Docker镜像是共享宿主机的内核的;

  4. Docker镜像是以只读方式挂载,所有的增删改都只会作用在容器层, 但是相同的文件会覆盖掉下一层,这种方式也被称为"Copy-on-write";

使用Namespace进行容器的隔离有什么缺点呢?

最大的缺点就是隔离不彻底

  1. 容器知识运行在宿主机上的一种特殊的进程,那么多个容器之间使用的就还是同一个宿主机的操作系统内核

  2. 在Linux内核中,有很多资源和对象是不能被Namespace化的,最典型的例子是:时间即如果某个容器修改了时间,那整个宿主机的时间都会随之修改

  3. 容器给应用暴露出来的攻击面比较大,在生产环境中,没有人敢把运行在物理机上的Linux容器暴露在公网上

linux 内核的namespace机制

  • namespace 机制提供一种资源隔离方案。
  • PID,IPC,Network 等系统资源不再是全局性的,而是属于某个特定的Namespace。
  • 每个 namespace下的资源对于其他的 namespace下的资源是透明的,不可见的
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值