初识docker

1、为啥要使用docker?

  1. docker 容器虚拟化的好处

    1. 构建快
    2. 迁移快
  2. Docker 在开发和运维中的优势

    1. 更快的交付和部署
    2. 更高效的资源利用
    3. 更轻松的迁移和扩展
    4. 更简单的更新管理
  3. Docker 与虚拟机的比较

    1. docker 容器很快,启动和停止可以秒级实现,这比传统的虚拟机多的方式要快的很多

    2. docker 容器对系统资源需求很少,一台主机可以同时运行数千个docker容器(在IBM 服务器上已经实现了同时运行10K量级的容器实力),但是在传统的虚拟机中容器实例就要少很多了

    3. docker 通过类似git 设计理念的操作来方便用户获取、分发和更新应用的镜像,存储复用,增量更新

    4. docker 通过dockerfile 支持灵活的自动化创建和部署机制,以提高工作效率,并标准化流程

      docker 容器除了运行其中的应用外,基本不消耗额外的系统资源,在保证应用性能的同时,尽量减少系统的开销。传统的虚拟机方式运行N个不同的应用就要启动N个虚拟机(每个虚拟机都要占用系统的内存,磁盘资源等),而docker只需要启动N个隔离的“很薄的”容器,并将应用放到容器内即可。在隔离性方面,传统的虚拟机方式提供的是相对封闭的隔离。

      docker容器技术与虚拟机技术的比较

      特性 容器 虚拟机
      启动速度 秒级 分钟级
      性能 接近原生 较弱
      内存代价 很小 较多
      硬盘使用 一般为MB 一般为GB
      运行密度 单机支持上千个容器 一般几十个
      隔离性 安全隔离 完全隔离
      迁移性 优秀 一般
    5. Docker 与虚拟化

      虚拟化技术是个通用的概念,在不同的领域有不同的理解。在计算机领域,一般指的是计算机虚拟化或通常说的服务器虚拟化

      1. 完全虚拟化

        虚拟化模拟完整的底层硬件环境和特权指令的执行过程,客户操作系统无须进行修改。

      2. 硬件辅助虚拟化

        利用硬件辅助支撑处理敏感指令来实现完全虚拟化的功能,客户操作无须系统修改

      3. 部分虚拟化

        只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改。

      4. 超虚拟机化

        部分硬件接口以软件的形式提供给客户机操作系统,客服操作系统需要精选修改。

      5. 操作系统级虚拟化

        内核通过创建多个虚拟的操作系统实例(内核与库)来隔离不同的进程。

    6. docker 与常见的虚拟机方式不同之处
      初识docker