Something about Docker

1.2 容器技术概述

以前如果要部署一个APP

物理服务器 + 操作系统(window or linux)+ App

Something about Docker

问题:
  • 物理服务器部署非常慢:买服务器 + 部署到机房 + 安装操作系统 + 安装App(可能需要很多环境的依赖)
  • 成本高:服务器很贵 哪怕app所需资源很少
  • 资源浪费
  • 难于迁移和扩展:
  • 迁移:如果想要迁移App需要额外再准备一台新的服务器 再把以上流程再走一遍 扩展:用户增长快,无法做扩展,买一个更好的服务器在迁移 就很复杂
  • 被限定的硬件厂商限定:物理硬件以前不一定是x86 还有其他的平台系统,如果选定了一个硬件厂商 以后app只能在这上运行 如果以后想换x86就非常复杂

虚拟化技术的出现

Hypervisor
  • 做资源的调度和分配
  • 一个物理机可以部署多个App
  • 每个App独立运行在一个VM里面
优点

Something about Docker
Something about Docker

虚拟机的局限性
  • 每一个虚拟机都是一个完整的操作系统,要给其分配资源,当虚拟机数量增多的时候,操作系统本身消耗的资源势必增多,这也是容器技术产生的原因之一
容器【container】技术解决的问题

提供了一种App的打包,按照这种标准去打包App,被打包好的容器不管在哪里都可以运行。
Something about Docker

什么是容器
  1. 对软件和其依赖的标准打包
  2. 应用之间相互隔离
  3. 共享一个OS kernel,在一台机器上,这个机器可以是一台物理机上的操作系统 也可以是一个虚拟机
  4. 可以运行在很多主流操作系统上
    Something about Docker
容器和虚拟机的区别

主要在于每个虚拟机都相当于一个完整的“电脑” 每个虚拟机都要新装一个操作系统,虚拟机之间的隔离是物理资源层面的隔离。每一个容器却是在同一个操作系统下的不同的App,他们之间的隔离是App层面的隔离。
Something about Docker
Something about Docker