由于不同的机器有不同的操作系统,以及不同的库和组件,因此将应用部署到多台机器上需要大量的环境配置操作。
Docker主要解决环境配置问题。它是一种隔离进程的虚拟化技术。隔离进程独立于主机操作系统和其他隔离进程。使用Docker,可以将现有应用程序部署到其他机器上,而无需更改应用程序代码,也无需开发人员学习特定环境的技术。
虚拟机也是一种虚拟化技术。与Docker最大的区别在于它模拟硬件并在硬件上安装操作系统。
1启动速度
启动Docker相当于在主机操作系统上启动一个进程。
2占用资源
虚拟机是一个完整的操作系统,需要大量的磁盘、内存和CPU资源。
Docker只是一个进程,它只需要打包应用程序和相关组件。运行时占用的资源很少。
除了启动快、资源占用低之外,Docker还有以下优点:
1更容易迁移
提供一致的运行环境。打包好的应用程序可以迁移到不同的机器上,不用担心环境变化导致的不可用。
2更易于维护
使用分层技术和镜像使得程序更容易重用重复的部分。重复利用程度越高,维护工作就越容易。
3更容易扩展
可以使用基础镜像进行扩展来获取新的镜像,并且官方和开源社区提供了大量的镜像镜像,我们可以轻松获取所需的图像。
持续集成
持续集成是指频繁地将代码集成到主干中,以便更快地发现错误。
Docker是轻量级且隔离的。将代码集成到一个Docker中不会影响其他Docker。
提供可扩展的云服务
Docker可以根据应用程序负载轻松扩展或缩小。
构建微服务架构
Docker的轻量级特性使其非常适合部署、维护和组合微服务。
图像是一个静态结构,可以认为是面向对象中的类,容器是图像的一个实例。
镜像包含容器运行所需的代码和其他组件。它是分层结构,每一层都是只读的(read-only)。当您构建图像时,它是逐层构建的,前一层作为下一层的基础。图像的这种分层存储结构非常适合图像复用和制。
构建容器时,会在镜像中添加一个可写层(writablelayer),用于保存容器执行过程中的更改。
上一篇:内存c34和c32有什么区别
下一篇:游戏多开吃内存还是吃cpu