尽管容器技术在今天越来越被人接受,但是安全性依然是一个绕不开的问题,由于容器采用的是共享内核外加 cgroups 和 namespaces 等黑魔法的方式进行隔离注定了会有很多路径的 bug 导致隔离性问题,安全隐患依然存在。而不使用虚拟机的原因不外乎虚拟机启动太慢,额外开销太高,性能由于多了一层会... ...
分类:
其他好文 时间:
2017-12-05 14:29:51
阅读次数:
160
什么是容器? 一种虚拟化的方案,区别于传统的虚拟机,是运行在操作系统内核之上,而虚拟机则是在物理硬件之上。 硬件资源占用更少 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依赖于 内核特性: 和`Cgroups (Control Group)` 上图就已经很好的说明了 和`虚拟机`之间的区 ...
分类:
其他好文 时间:
2017-11-30 12:14:49
阅读次数:
104
什么是容器? 一种虚拟化方案,直接运行在操作系统内核之上的用户空间,因此容器虚拟化也被称为操作系统虚拟化,由于依赖操作系统的特性,所以容器只能运行在底层操作系统相同或相似内核的操作系统 docker容器依赖的Linux内核特性:Namespace和Cgroups(Control Group) Lin ...
分类:
其他好文 时间:
2017-11-23 12:18:00
阅读次数:
120
Docker介绍: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker是通过内核虚拟化技术(namespaces及cgroups等 ...
分类:
其他好文 时间:
2017-11-21 14:33:25
阅读次数:
159
Cgroups控制系统资源的分配(cpu、mem、io) 1、cgroups概述 CGroup是Linux内核提供的可以限制、隔离进程组 (process groups) 所使用的物理资源 (如 cpu memory i/o 等等)。 全称是Control Groups,从2.6.24 内核引入,并 ...
分类:
其他好文 时间:
2017-11-10 20:14:05
阅读次数:
222
在上一篇提到安装docker需要至少需要linux内核版本3.10以上,且需要支持cgroups和namespace功能。这是因为docker的容器实现本质还是 host上的进程。 Docker通过namespace实施了资源隔离,且通过了cgroups实施了资源约束,通过写时复制(copy-on- ...
分类:
其他好文 时间:
2017-11-10 01:41:41
阅读次数:
261
一.简介Cgroups是controlgroups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(processgroups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有..
分类:
系统相关 时间:
2017-10-29 11:17:43
阅读次数:
270
cgroup是如何做到内存,cpu和io速率的隔离?本文用脚本运行示例进程,来验证Cgroups关于cpu、内存、io这三部分的隔离效果。测试机器环境查看系统[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.2.1511(Core)安装相关软件[root@localhost~]#yum-yinstalllibcgrou..
分类:
其他好文 时间:
2017-08-25 17:40:26
阅读次数:
200
虚拟机:通过中间层,将一台或者多台独立机器,运行在物理硬件之上! 容器:直接运行在操作系统的内核之上的用户空间,由于依赖于操作系统的特性,所以容器只能运行在相同的后者相似的内核的操作系统之上 docke依赖于linux的内核特性:namespace 和Cgroups,所以docker只能运行在lin ...
分类:
其他好文 时间:
2017-07-11 00:56:03
阅读次数:
208
docker实例资源限制主要是通过linuxcgroups去实现的,cgroups可以限制、记录、隔离进程组所使用的物理资源,包括:CPU、memory、IO等。在生产上,肯定是要限制资源的。通过dockerrun命令加参数来实现,比如-m,--cpu-shares,具体参数请查阅docker命令。以内存为例,限制资源的..
分类:
其他好文 时间:
2017-06-29 17:31:31
阅读次数:
137