Docker在开发与运维中优势

  1. a)  更快速的交付和部署—使用Docker,开发人员可以使用镜像来构建一套标准的开发环境,测试和运维则可以直接使用。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间,并且可使团队更容易理解应用的创建和工作过程

  2. b)  更高效的资源利用---Docker容器的运行不需要额外的虚拟化管理程序支持,其是内核级的虚拟化,可实现更高的性能

  3. c)  更轻松的迁移和扩展---Docker容器几乎可以在任意的平台上运行,能让用户可在不同平台之间轻松迁移应用

  4. d)  更简单的更新管理---使用Dockerfile,只需小小修改配置,就可替代以往大量的更新工作,并且所有修改都以增量的方式被分发和更新,从而实现自动化并且高效的容器管理

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

特性

容器

虚拟机

启动速度

秒级

分钟级

性能

接近原生

较弱

内存代价

很小

较多

硬盘使用

一般为MB

一般为GB

运行密度

单机支持上千个容器

一般几十个

隔离性

安全隔离

完全隔离

迁移性

优秀

一般

Docker与虚拟化

1)虚拟化:虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象,转换后呈现出来,打破实体结构间的不可切割的障碍,使用户科比原本的组态更好的方式来应用这些资源

2)从大类上分,可分为硬件虚拟化和软件虚拟化(应用虚拟化和平台虚拟化)

3)平台虚拟化的分类

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

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

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

  4. 操作系统级虚拟化。内核通过创建多个虚拟的操作系统实例来隔离不同的进程,如容器技术

读书笔记1---为什么使用Docker