Docker - 相较于虚拟机的优势,以及为什么要使用docker

文章目录

  • Docker - 相较于虚拟机的优势,以及为什么要使用docker
        • 1、docker 解决了什么问题
        • 2、相比于传统虚拟机,docker有什么不同
          • 1、启动速度的不同
          • 2、占用资源的不同
        • 3、相比于传统虚拟机,docker有哪些优势
          • 1、更快速的迁移
          • 2、更低的维护成本
          • 3、更优良的扩展性
        • 4、docker 适合于哪些使用场景
          • 1、快速的持续集成
          • 2、需要根据负载快速增加或者减少服务器
          • 3、微服务
        • 4、镜像和容器

Docker - 相较于虚拟机的优势,以及为什么要使用docker


1、docker 解决了什么问题

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

Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其它机器上。

2、相比于传统虚拟机,docker有什么不同

参考:Docker 深入 - 探究docker 与虚拟机的实质区别

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

1、启动速度的不同

但是启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;
而启动 Docker 相当于启动宿主操作系统上的一个进程,支持秒开。

2、占用资源的不同

虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机
Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker 容器

3、相比于传统虚拟机,docker有哪些优势

1、更快速的迁移

docker 提供一致性的运行环境。已经打包好的应用可以在不同的机器上进行迁移,而不用担心环境变化导致无法运行。

2、更低的维护成本

docker 使用分层技术和镜像,使得应用可以更容易复用重复的部分。复用程度越高,维护工作也越容易。

3、更优良的扩展性

docker 可以使用基础镜像进一步扩展得到新的镜像,并且官方和开源社区提供了大量的镜像,通过扩展这些镜像可以非常容易得到我们想要的镜像。

4、docker 适合于哪些使用场景

1、快速的持续集成

Docker 具有轻量级以及隔离性的特点,在将代码集成到一个 Docker 中不会对其它 Docker 产生影响。

2、需要根据负载快速增加或者减少服务器

根据应用的负载情况,可以很容易地增加或者减少 Docker。

3、微服务

Docker 轻量级的特点使得它很适合用于部署、维护、组合微服务。

4、镜像和容器

镜像包含着容器运行时所需要的代码以及其它组件,它是一种分层结构,每一层都是只读的(read-only layers)。构建镜像时,会一层一层构建,前一层是后一层的基础。镜像的这种分层存储结构很适合镜像的复用以及定制。

构建容器时,通过在镜像的基础上添加一个可写层(writable layer),用来保存着容器运行过程中的修改。

为了维持docker 轻量化,快速部署的优点,我们需要尽量创建更少的层来提供docker 的性能

你可能感兴趣的:(#,虚拟化/容器化,docker)