码迷,mamicode.com
首页 > 其他好文 > 详细

centos7下安装docker(10容器底层--cgroup和namespace)

时间:2017-10-25 19:57:26      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:res   src   限制   lin   文件系统   独立   安装docker   image   cgroup   

cgroup和namespace是实现容器底层的重要技术

cgroup:实现资源限制

namespace:实现资源隔离

1.cgroup:control group

Linux操作系统通过cgroup可以设置进程使用CPU,内存和IO资源使用的限额。我们之前学习的通过-m,--memory-swap,-c,--blkio-weight就是通过cgroup实现的。那么cgroup到底是什么样子的呢?

可以在/sys/fs/cgroup里面找到,例如:

我们运行一个容器,我们设置的cpu的权重是700

技术分享

 

我们进入/sys/fs/cgroup/cpu/docker目录下的相应的容器的ID的目录里面,看cpu.shares,可以看到我们设置的权重是700

技术分享

 

同样的我们进入/sys/fs/cgroup/memory/docker/中大概是memory.limit_in_bytes这个文件是容器内存的大小

同样的我们进入/sys/fs/cgroup/blkio/docker/中,blkio.weight这个文件是Block IO的权重文件

我们可以在以上的文件中,查看或者更改容器资源的大小

2.namespace

            我们运行的每一个容器,都像是一个新的操作系统一样,都有文件系统,网卡等资源;那网卡来说,每个容器都会认为自己有一块独立的网卡,即使Host主机实际只有一块网卡资源,这样的方式使容器更像是一个独立的计算机。

namespace管着Host中全局唯一的资源,并让每个容器都觉得只有自己在使用它,namespace实现了容器间的资源隔离

Linux使用了6种namespace:Mount,UTS,IPC,PID,Network

 

centos7下安装docker(10容器底层--cgroup和namespace)

标签:res   src   限制   lin   文件系统   独立   安装docker   image   cgroup   

原文地址:http://www.cnblogs.com/lkun/p/7731360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!