Docker及Docker与传统虚拟机的对比

Docker由Go语言开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。
由于隔离的进程独立于宿主和其他的隔离的进程,因此也称为容器。Docker在容器的基础上进行了进一步的封装,从文件系统,网络互连到进程隔离等等,
极大简化了容器的创建及维护,使得Docker技术比虚拟化技术更为轻便、快捷。

  • 传统虚拟机
传统虚拟机是虚拟出一套硬件后,在其运行一个完成的操作系统,在系统上再运行所需的应用进程
  • Docker
容器内的应用进程直接运行于宿主的内核,容器没有自己的内核,而且也没有进行硬件的虚拟。因此,容器要比传统的虚拟机更为轻便。
  • Docker的优势
  1. 更高效的利用系统资源
  2. 启动速度更快速
  3. 一致的运行环境
  4. 持续交付和部署
  5. 更轻松迁移
  6. 更轻松的维护和扩容
  • 与传统虚拟机对比总结
特性 容器 虚拟机
启动 秒级 分钟机
硬盘使用 一般MB 一般GB
性能 接近原生 较弱
系统支持 单机支持上千个容器 几十个

Docker三个概念

  • 镜像(Image)
Docker镜像是一个特殊的文件系统,除了提供容器运行所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。
镜像不包含任何动态数据,器内容在构建之后也不会被改变
  • 容器(Container)
镜像和容器的关系就像java中的类和实例一样,镜像是静态定义的,容器是镜像运行的实体。容器可以被创建、启动、停止、删除、暂停等。容器跟镜像一样都是分层存储。
  • 仓库(Repository)
类似git及svn,docker仓库是存放镜像文件的,方便其他服务器使用。

你可能感兴趣的:(Docker)