1.1 什么是Docker
slogan:Build Ship Run Any App Anywher。关键在于Ship,通过把程序和程序运行所需要的环境一起交付。
Linux容器技术:
Docker是在Linuk容器(Linux Containers)技术的基础上发展起来的。LUX把单个操作系统的资源划分到多个孤立的组里,在孤立的组里平衡有冲突的资源使用需求。与虚拟机相比,这种通过划分组来平衡资源冲突的方式代价更小,它不需要指令级别模拟也不需要即使编译。容器直接在本地CPU上运行。
1.2为什么要使用Docker
- 更快的交付和部署。开发人员使用镜像构建标准开发环境,运维和测试人员使用镜像来获得和开发人员相同的运行环境。开发环境和测试运维环境无缝对接,节约开发、测试、部署时间。
- 更高效的资源利用。相较于虚拟机而言Docker不需要额外的Hypervisor支持,Docker是内核级别的虚拟化,实现更高的性能。
- 更简单的更新管理。使用Dockerfile,通过简单的修改就可以代替大量的更新操作。
1.3 Docker与虚拟化
虚拟化:虚拟化是对计算机资源的抽象,是为了更好的管理计算机资源。让同时运行在一个计算机上的多个进程以为自己能够独占当前操作系统资源
Docker虚拟化与虚拟机比较
- Docker是操作系统级的虚拟化,内核通过创建多个虚拟的操作系统实例来隔离进程。虚拟机是硬件辅助虚拟化,虚拟的是整个硬件。
- 虚拟机需要模拟一个独立的OS Kernel而Docker不需要
- 虚拟机需要一个虚拟机管理程序如VMware,而Docker只需要一个Docker引擎,后者的开销更小
- Docker更快妙级,虚拟机分级别
- Docker对系统资源需求更少
- Docker通过类似Git理念来方便用户获取、分发更新镜像
- Docker通过dockerfile实现灵活的创建、部署机制
虚拟机和Docker本质的区别在于虚拟化的方式不同,虚拟机是一种硬件级别的虚拟化,通过软件去模拟硬件系统,并且虚拟机里需要虚拟OS Kernel。Docker是一种容器,是一种隔离机制,是软件级别的模拟。
原文地址:https://www.cnblogs.com/AshOfTime/p/10755479.html
时间: 2024-10-11 09:55:56