一、docker的原理

一、docker解决什么问题:

  • 高效的利用资源
  • 应用之间相互隔离
  • 应用之间不能发生资源抢占,每个应用只能使用事先注册申请的资源。
  • 环境封装,利于迁移

二、docker的原理:

   1、Namespaces,命名空间(namespaces)是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法.

      

      (1)进程:使用 Linux 的命名空间实现进程的隔离,Docker 容器内部的任意进程都对宿主机器的进程一无所知

     

       (2) 网络:Docker 为我们提供了四种不同的网络模式,Host、Container、None 和 Bridge 模式。Docker 默认的网络设置模式:网桥模式。在这种模式下,除了分配隔离的网络命名空间之外,Docker 还会为所有的容器设置 IP 地址。通过iptables 的nat路由访问到容器暴露的端口

   

      (3)Libnetwork、挂载点等

     2、CGroups

       Control Groups,就是能够隔离宿主机器上的物理资源,例如 CPU、内存、磁盘 I/O 和网络带宽

      9c3057xxx 其实就是我们运行的一个 Docker 容器,启动这个容器时,Docker 会为这个容器创建一个与容器标识符相同的 CGroup,在当前的主机上 CGroup 就会有以下的层级关系:

 

每一个 CGroup 下面都有一个 tasks 文件,其中存储着属于当前控制组的所有进程的 pid,作为负责 cpu 的子系统,cpu.cfs_quota_us 文件中的内容能够对 CPU 的使用作出限制,如果当前文件的内容为 50000,那么当前控制组中的全部进程的 CPU 占用率不能超过 50%。

 

参考来源:http://dockone.io/article/2941 

         

转载于:https://www.cnblogs.com/allen-GC/p/10693580.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值