docker依赖的Linux内核特性

namespaces命名空间

编程语言

        封装→代码隔离

操作系统

        系统资源的隔离

        进程、网络、文件系统

进程隔离PID:Process ID

网络接口管理NET:Network

跨进程通信的访问IPC:InterProcess Communication

管理挂载点MNT:Mount

隔离内核和版本标识UTS:Unix Timesharing System

Control groups控制组

资源限制

优先级设定

资源计量

资源控制

Docker容器的能力

文件系统隔离:每个容器都有自己的root文件系统

进程隔离:每个容器都运行在自己的进程环境中

网络隔离:容器件的虚拟网络接口和IP地址都是分开的

资源隔离和分组:使用cgroup将CPU和内存之类的资源独立分配给每个容器

时间: 2024-10-24 09:14:53

docker依赖的Linux内核特性的相关文章

嵌入式linux培训教程之linux内核特性

创客学院嵌入式培训讲师:Linux内核可以运行在大量的小到手持设备,大到主机的不同的硬件架构上.要满足如此多变的需要,其内核必须是高度可配置的? 嵌入式linux培训教程之linux内核特性: 内核配置有如下的一些方法: 1. 在内核源代码根目录下运行标准的内核配置命令make config,make menuconfig或make xconfig.你可以打开选项或者关闭选项,或者把它们作为单独的模块编译,在运行时加载. 在因特网上有成百甚至是上千的内核补丁包,它们其中一些很小--但是足够修补一

docker安装升级linux内核(2.6.32->3.10.81),安装成功!

升级linux内核(2.6.32->3.10.81),安装docker 1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 yum groupinstall "Development Tools" #你必须这样才能让 make *config 这个指令正确地执行 yum install ncurses-devel #如果你没有 X 环

Linux内核中namespace之PID namespace

前面看了LInux PCI设备初始化,看得有点晕,就转手整理下之前写的笔记,同时休息一下!!~(@^_^@)~ 这片文章是之前写的,其中参考了某些大牛们的博客!! PID框架的设计 一个框架的设计会考虑很多因素,相信分析过Linux内核的读者来说会发现,内核的大量数据结构被哈希表和链表链接起来,最最主要的目的就是在于查找.可想而知一个好的框架,应该要考虑到检索速度,还有考虑功能的划分.那么在PID框架中,需要考虑以下几个因素. 如何通过task_struct快速找到对应的pid 如何通过pid快

KSM剖析——Linux 内核中的内存去耦合

简介: 作为一个系统管理程序(hypervisor),Linux® 有几个创新,2.6.32 内核中一个有趣的变化是 KSM(Kernel Samepage Merging)  允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量.本文探索 KSM 背后的理念(比如存储去耦合).KSM 的实现.以及如何管理 KSM. 服务器虚拟化 虚拟化技术从上世纪 60 年代开始出现,经由 IBM® System/360® 大型机得以流行.50 年过后,虚拟化技术取得了跨越式发展,使得多个操作系统和应用

Cgroup maintainer李泽帆:解剖Linux内核容器技术

摘要:Cgroup和namespace等内核特性如何出现,在社区处于怎样的开发状况?Docker如火如荼,内核社区是否会因此加紧完善容器技术的隔离性安全性?华为Linux内核高级工程师李泽帆将在2015 Container技术峰会上详细解说. 2015年4月16-18日,由CSDN主办.CSDN专家顾问团支持的OpenCloud 2015大会将在北京国家会议中心拉开帷幕.为期三天的大会,以推进行业应用中的云计算核心技术发展为主旨,聚焦技术创新与应用实践,设置了"2015 OpenStack技术大

linux内核---嵌入式linux内核的五个子系统

转自:https://blog.csdn.net/qq_27522735/article/details/63251168 Linux内核主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示. 图1 Linux内核的组成部分与关系 1.进程调度 进程调度控制系统中的多个进程对CPU的访问,使得多个进程能在CPU中"微观串行,宏观并行"地执行.进程调度处于系统的中心位置,内核中其他的子系统都依赖它,因为

Linux内核移植初探

内核移植的梯度: 初级:根据芯片公司的参考配置,编译开发板内核并了解执行过程 中极:添加内核驱动的方式方法 高级:修改或添加BSP包 linux内核特性: 可移植性强.支持的硬件平台广泛:超强的网络功能:多任务多用户系统:模块化的设计 五大子系统: 进程管理:内存管理:文件系统:网络协议:设备管理 内核获取路径:芯片厂商.内核源码官方 linux内核的目录结构层次结构: 平台相关目录树:arch目录下 平台无关目录树:其它 crypto目录:算法.加密涉及的源码目录 Documentation目

深入解析Linux内核及其相关架构的依赖关系

Linux kernel 成功的两个原因: 灵活的架构设计使得大量的志愿开发者能够很容易加入到开发过程中:每个子系统(尤其是那些需要改进的)都具备良好的可扩展性.正是这两个原因使得Linux kernel可以不断进化和改进. 一.Linux内核在整个计算机系统中的位置 分层结构的原则: the dependencies between subsystems are from the top down: layers pictured near the top depend on lower la

升级linux内核(2.6.32->3.10.81),安装docker

1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 yum groupinstall "Development Tools" #你必须这样才能让 make *config 这个指令正确地执行 yum install ncurses-devel #如果你没有 X 环境,这一条可以不用 yum install qt-devel #创建 Cent