读书笔记1---为什么使用Docker
Docker在开发与运维中优势
a) 更快速的交付和部署—使用Docker,开发人员可以使用镜像来构建一套标准的开发环境,测试和运维则可以直接使用。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间,并且可使团队更容易理解应用的创建和工作过程
b) 更高效的资源利用---Docker容器的运行不需要额外的虚拟化管理程序支持,其是内核级的虚拟化,可实现更高的性能
c) 更轻松的迁移和扩展---Docker容器几乎可以在任意的平台上运行,能让用户可在不同平台之间轻松迁移应用
d) 更简单的更新管理---使用Dockerfile,只需小小修改配置,就可替代以往大量的更新工作,并且所有修改都以增量的方式被分发和更新,从而实现自动化并且高效的容器管理
Docker容器技术与虚拟机技术的比较
特性 |
容器 |
虚拟机 |
启动速度 |
秒级 |
分钟级 |
性能 |
接近原生 |
较弱 |
内存代价 |
很小 |
较多 |
硬盘使用 |
一般为MB |
一般为GB |
运行密度 |
单机支持上千个容器 |
一般几十个 |
隔离性 |
安全隔离 |
完全隔离 |
迁移性 |
优秀 |
一般 |
Docker与虚拟化
1)虚拟化:虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象,转换后呈现出来,打破实体结构间的不可切割的障碍,使用户科比原本的组态更好的方式来应用这些资源
2)从大类上分,可分为硬件虚拟化和软件虚拟化(应用虚拟化和平台虚拟化)
3)平台虚拟化的分类
完全虚拟化。完整模拟底层硬件环境和特权指令的执行过程,客户操作系统无需修改
硬件辅助虚拟化。利用硬件辅助支持处理敏感指令来实现完全虚拟化的功能,客户操作系统无需修改
部分虚拟化。只针对部分硬件资源记性虚拟化,客户操作系统需要修改
操作系统级虚拟化。内核通过创建多个虚拟的操作系统实例来隔离不同的进程,如容器技术
转载于:https://blog.51cto.com/makeths/1981187