当前位置:首页 > 虚拟化 > 正文

docker是一种虚拟化技术


一、Docker基本概念

由于每台机器都有不同的操作系统,以及不同的库和组件,因此将应用程序部署到多台机器上需要进行大量的环境配置操作。

Docker是一种进程隔离虚拟化技术,主要解决环境配置问题。隔离进程独立于主机操作系统和其他隔离进程。Docker允许您将现有应用程序部署到其他机器,而无需更改应用程序代码或要求开发人员学习适合其特定环境的技术。

虚拟机也是一种虚拟化技术。与Docker最大的区别在于它模拟硬件并在硬件上安装操作系统。

1.启动速度

启动Docker与在主机操作系统上启动进程相同。

2.资源占用

虚拟机是一个完整的操作系统,需要大量的磁盘、内存和CPU资源。单机上只能打开几十个虚拟机。

Docker只是一个进程。它在运行时需要很少的资源。您可以在一台机器上打开数千个Docker。

除了快速启动和低资源占用之外,Docker还提供以下好处:

1.易于迁移

提供一致的操作环境。打包的应用程序可以移动到另一台机器上,而不必担心它们由于环境的变化而变得无法运行。

2.维护变得更容易。

分层技术和镜像使您可以更轻松地在应用程序中重复使用部件。复用程度越高,维护就越容易。

3.易于扩展

您可以使用基础镜像进一步扩展并获取新的镜像。通过扩展这些,官方和开源社区提供了大量的图像。您可以轻松获得您想要的图像。

持续集成

持续集成是指频繁地将代码集成到主干中,以便更快地捕获错误。

Docker是轻量级且独立的。将代码集成到一个Docker中不会影响其他Docker。

提供可扩展的云服务

Docker可以根据应用程序负载轻松扩展或缩小。

构建微服务架构

Docker的轻量级特性使其非常适合部署、维护和组合微服务。

图像是静态结构,可以被认为是面向对象的类,而容器是图像的实例。

镜像包含运行容器所需的代码和其他件,并按层次结构组织,每一层都是只读的(只读层)。构建图像时,它是逐层构建的,前一层作为下一层的基础。这种图像的分层存储结构非常适合图像重用和定制。

构建容器时,会在镜像中添加一个可写层,以在容器运行时保存更改。


二、什么是DockerDocker是一个开源应用程序容器引擎,允许开发人员将其应用程序和依赖项打包到可移植容器中,然后将其发布到任何流行的Linux机器上,这些机器也可以虚拟化。容器完全使用沙箱机制,它们之间不会有任何接口(类似于iPhone应用程序)。几乎没有性能开销,可以轻松地在机器和数据中心上运行。最重要的是,它们不依赖于任何语言、框架或系统。