浅谈虚拟化和容器技术

虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。
  • 实现跨平台运行应用程序

  • 将虚拟化应用于资源管理, 提高计算机资源使用率

虚拟机

image.png

存在性能缺陷

容器技术

所谓容器技术,指的是操作系统自身支持一些接口,能够让应用程序间可以互不干扰的独立运行,并且能够对其在运行中所使用的资源进行干预。

容器技术并没有做指令转换,它提供了相对独立的应用程序运行的环境,也提供了资源控制的功能,所以我们依然可以归纳其为一种实现不完全的虚拟化技术。

vs

why docker

复杂应用的开发与部署效率低下
分布式应用服务体系

docker跑分

Docker 的技术实现

Docker 的实现,主要归结于三大技术:命名空间 ( Namespaces ) 、控制组 ( Control Groups ) 和联合文件系统 ( Union File System ) 。

  • 命名空间是 Linux 核心在 2.4 版本后逐渐引入的一项用于运行隔离的模块。

  • 资源控制组 ( 常缩写为 CGroups ) 是 Linux 内核在 2.6 版本后逐渐引入的一项对计算机资源控制的模块。

  • 联合文件系统 ( Union File System ) 是一种能够同时挂载不同实际文件或文件夹到同一目录,形成一种联合文件结构的文件系统。

AUFS ( Advanced Union File System )

类比git version 改动记录

Docker 的理念

Reference

整理于掘金小册 《开发者必备的 Docker 实践指南》

geek_zwb
135 声望6 粉丝

Always on the way to being a great geek.


« 上一篇
next.js with mobx