第3章 docker 基本原理知识
来源:互联网 发布:2017淘宝卖什么成本低 编辑:程序博客网 时间:2024/06/08 00:24
3.1 linux 的namespace 机制 ---"容器模型" --->管理虚拟化的工具
linux 的namespace 机制是提供一种资源隔离的方案,PID/IPC/Network 不再是全局的,而是某一个namespace 里面的。在同一个namespace 的能感受到其他pid 的变化,但是对其他的namespace 是透明的,不会受到任何影响,也感受不到其他namespace 里面的变化。这样namespace 机制就提供了一个资源隔离的方案;为容器的概念打好了一个良好的基础.
- 通过调用namespaceAPI 可以创建资源隔离的shell 环境,也就是一个”容器"
3.2 linux 的cgroups 机制 --"虚拟化"
cgroups 全称是Control Groups “控制组“,通俗的讲就是把进程放到一个组里面统一控制。通俗的讲就是cgroups 可以限制、记录、隔离进程组使用的物理资源(包括CPU、mem、IO等);为容器实现虚拟化提供了保证,是构建Docker 等一系列虚拟化管理工具的基石。
cgroups 的作用:
- 资源限制:cgroups 可以对进程组(一个容器内可以跑多个进程)使用的资源总额进行限制,如果进程组运行时占用的内存找过了设置的上限,就会触发OOM;当进程启动时分配的内就超过上限,那进程直接启动失败
- 优先级分配:控制进程运行的优先级,可以根据不同的优先级给就进程分配cpu和IO带宽等资源
- 资源统计:cgroup是可以统计系统的资源使用量,比如cpu 使用时长、内存用量等,这个功能非常适用于计费
- 进程控制:cgroups 可以对进程组里面的进程执行挂起、恢复等操作
3.3 容器跟 namespace和cgroups 的关系
容器有2个核心一个是虚拟化的隔离环境,一个是持续交付、集成;
虚拟化的隔离环境就是通过namespace和cgroups 2个基础设施来实现的;namespace 是提供一个“容器”,cgroups 是进行资源分配、隔离、统计并维护容器里面的进程状态。
所以namespace 和cgoups 是支持容器技术的2个核心技术.
0 0
- 第3章 docker 基本原理知识
- 第23章 TCP基本原理
- 第24章 UDP基本原理
- 第28章 以太网交换基本原理
- 第2章 2.2 JSP基本原理
- 第16章 I/O 基本原理
- LCD 基本原理知识
- 第1章 初始Docker
- 《第一本Docker书》读书总结(一)第3章 Docker 入门
- Docker相关知识<Docker安装>
- Hbase基本原理、及存储知识
- Docker知识--安装
- docker学习知识
- docker知识总结
- 第 1 章 预备知识
- 第0章 前言知识
- 计算机网络知识 第0章
- 第2章 Docker 的基础知识
- getMeasuredWidth()、getLayoutParams().getWidth()、getWidth()的区别
- ROS学习--如何结合launch文件使用参数服务器
- 使用Pushlet实现后台信息推送(二)
- iOS-MVVM-框架介绍
- STL--lower_bound()函数的用法
- 第3章 docker 基本原理知识
- 'new' : function does not take 3 parameters(部分转载)
- Android 使用EventBus实现菜单
- 海量数据处理经典思想
- 深度学习与自然语言处理(1)_斯坦福cs224d Lecture 1
- 【计算机网络 第五版】阅读笔记之四:网络层
- OpenCV优化:图像的遍历4种方式
- CORBA版HelloWorld
- 用NSUserDefaults保存和读取程序设置