精华内容
下载资源
问答
  • 作为一种新兴的虚拟化方式,Docker传统的虚拟化方式相比具有众多的优势。 对比传统虚拟机总结 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般 MB 一般 GB 性能 接近原生 弱于 ...

    作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。

    对比传统虚拟机总结

    特性容器虚拟机
    启动秒级分钟级
    硬盘使用一般 MB一般 GB
    性能接近原生弱于
    系统支持量单机支持上千个容器一般几十个

    更高效的系统资源利用

    由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

    更快速的启动时间

    传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。

    一致的运行环境

    开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 「这段代码在我机器上没问题啊」 这类问题。

    持续交付和部署

    对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。

    使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过Dockerfile 来进行镜像构建,并结合 持续集成(Continuous Integration) 系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(ContinuousDelivery/Deployment) 系统进行自动部署。

    而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。

    更轻松的迁移

    由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

    更轻松的维护和拓展

    Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。

    展开全文
  • Dockerdocker简介及其优势

    千次阅读 2019-01-03 20:50:37
    什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现...由于隔离的进程独立于宿主其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 li...

    什么是Docker

    Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。

    Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

    下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
    在这里插入图片描述
    在这里插入图片描述

    为什么要使用Docker

    作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。

    更高效的利用系统资源

    由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

    更快速的启动时间

    传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。

    一致的运行环境

    开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 「这段代码在我机器上没问题啊」 这类问题。

    持续交付和部署

    对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。

    使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建,并结合 持续集成(Continuous Integration) 系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署。

    而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。

    更轻松的迁移

    由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

    更轻松的维护和扩展

    Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。

    对比传统虚拟机总结

    特性容器虚拟机
    启动秒级分钟级
    硬盘使用一般为 MB一般为 GB
    性能接近原生弱于
    系统支持量单机支持上千个容器一般几十个

    ------做运维之前很矫情的小年轻-----【本博文摘自Docker----从入门到实践】

    展开全文
  • Web服务Docker化的优势

    万次阅读 2020-01-04 17:57:46
    docker能够简化配置一致的示例的发布流程,很好的应对了负载波动较大的情况;同时它比虚拟机更加轻量级,成本更为低廉。诸多优势下,它终于成为了新时代的宠儿。

    我们总会发现公司的项目总是上到服务器的docker中运行,而自己开发的项目通常为了方便直接打包为一个war包上传到服务器,再使用java -jar命令运行。结果两种方案都能够正常运行起来,这个时候爱思考的同学们就会去想:既然我们有简单的部署方式,那为何还要使用docker呢?非常好的问题,我们接着往下看:

    docker是什么?

    docker是一个开源的应用容器引擎,如果你是docker的初学者,同时也有开发过基于Maven的java项目的经验,那就会比较容易理解:我们可以把docker想作一个拥有类似Maven仓库的镜像资源仓库的虚拟机。我们能够在docker容器之中运行来自仓库的各类应用。

    为什么使用docker?

    作为程序员,是否经常听到身边有人说“怎么在我的机器上没办法复现啊?”这样的话,很大程度上是因为QA人员与工程师们使用的各种环境各种配置不同导致的。我们想一想,使用虚拟机最大的好处是什么?就是让使用者处于一个自己可配置的可控的“标准”环境里。docker同样也拥有虚拟机的这一大优势。因此,它的第一大优势就是:保证程序运行环境的统一

    再描述一个场景:一台服务器通常是由多人/多项目共享,如果某天与你共用服务器的同事的项目出现了各种占用CPU/硬盘这样的问题,你在此台服务器中运行的项目也会因此收到影响。而当你使用docker时,我们可以限制每个应用实例的各类资源的上限,对方的服务到达上限只会使它自己崩掉而不会影响别的项目。这就是docker的第二大优势:隔离性

    第三个场景:在双十一这样的峰值期,电商网站平时使用的服务器负载一定是跟不上的,我们必须临时加服务器进来分担负荷,在负荷降下来的时候再撤出这些临时服务器。我们想一想,当我们拥有一台全新的服务器后,想部署一个web应用,需要安装配置各种运行环境,麻烦炸了,运维工程师正在拿刀过来的路上!而docker只需要几个简单的命令,就能将同样的配置迅速移植到多台机器上去,同样几个命令就能将这几台机器撤下来,负责服务器的工程师爽歪歪。这就是docker的第三大优势:标准化,它能够带来优秀的可移植性。

    总结

    docker能够简化配置一致的示例的发布流程,很好的应对了负载波动较大的情况;同时它比虚拟机更加轻量级,成本更为低廉。诸多优势下,它终于成为了新时代的宠儿。

    展开全文
  • Docker优势

    2019-12-06 11:08:42
    作为一种新兴的虚拟化方式,Docker传统的虚拟化方式相比具有众多的优势。 首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时...

    为什么要使用 Docker?

    作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
    首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。
    容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。
    具体说来,Docker 在如下几个方面具有较大的优势。

    • 1 更高效的利用系统资源
    • 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高,无论是应用执行速度,内存消耗以及文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。
    • 2 更快速的启动时间
    • 传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到妙级,甚至毫秒级的启动时间,大大的节约了开发,测试,部署的时间。
    • 3 一致的运行环境
    • 开发过程中一个常见的问题是环境一致性问题,由于开发环境,测试环境,生产环境不一致,导致有些bug并未在开发过程中被发现,而Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性。从而不会再出现(这段代码在我机器上运行没问题啊)这类问题。
    • 4 持续交付和部署
    • 对于开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
    • 使用Docker可以通过定制应用镜像来实现持续集成,持续交付,部署。开发人员可以通过Dockerfile来进行镜像构建,并结合持续集成系统进行集成测试,而运维人员则可以在生产环境中快速部署该镜像,甚至结合持续部署系统进行自动部署
    • 5 更轻松的迁移
    • 由于Docker确保了执行环境的一致性,使得应用的迁移更加容易,Docker可以在很多平台上运行,无论是物理机,虚拟机,公有云,私有云,甚至是笔记本,其运行结果是一致的,因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。
    • 6 更轻松的维护和扩展
    • Docker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单,此外,Docker团队同各个开源项目团队一起维护了一大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。
    • 7 更快速的交付和部署
    • 对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
    • 开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。
    • 8 更高效的虚拟化
    • Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。
    • 9 更轻松的迁移和扩展
    • Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。
    • 10 更简单的管理
    • 使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

    对比传统虚拟机总结

     

    虚拟化技术对比:

    • KVM:全虚拟化,需要模拟各种硬件(硬件虚拟化)
    • docker:严格来说不算是虚拟化技术,只是进程隔离和资源限制(内核虚拟化)

    启动进程对比:

    • 在kvm虚拟机中执行top命令,看宿主机进程树,根本看不到top的进程
    • 在docker容器中,同样执行top命令,在宿主机进程数中直接可以看到top进程

    占用内存资源对比:

    • KVM虚拟机一般会独占一段内存,即使闲置,其他虚拟机也无法使用。(立即分配)
    • 容器可以只有一个内存上限,没有下限。如果它只使用1MB内存,那么它只占用宿主机1MB内存。宿主机可以将富余内存作为他用。(预分配)

    内核对比:

    • kvm的虚拟机内核无需与宿主机一致
    • Docker实例内核和宿主机内核一致

    操作系统支持度对比:

    • kvm:支持多种操作系统,除了linux,还支持windows,uninx、solaris等
    • docker:只支持linux

    启动一个实例需要的时间对比:

    LXC容器技术将操作系统抽象到了一个新的高度。直接从init启动,省去了硬件自检、grub引导、加载内核、加载驱动等传统启动项目,因此启动飞速。

    • docker:秒级
    • kvm:分钟级别

    镜像模板占用空间对比:

    • kvm:占用空间大
    • docker:占用空间小

    综合来说:docker比kvm更省资源,可以提供非常接近宿主机的性能,而kvm资源隔离比docker更高,kvm支持的操作系统类型更多

     

     

     

     

     

    展开全文
  • 文章目录一、初识 Docker1.Docker 概述2.Docker 容器与传统虚拟化的比较①Docker 的优点②Docker传统虚拟机相比具有显著的优势二、Docker 的核心概念及安装1.镜像(Image)2.容器(Container)3.仓库(Repository...
  • docker优势

    2019-05-20 21:38:51
    更高效的利用系统资源 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统...传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的...
  • Docker 第一篇 docker含义及优势

    千次阅读 2018-04-10 12:02:24
    Docker docker的含义: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互...
  • Docker传统虚拟机

    2019-01-27 19:24:00
    Docker传统虚拟机 文章参考:https://www.jianshu.com/p/50f48eb25215 各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有...
  • Docker优势

    2016-05-12 16:33:08
    细数Docker优势有哪些?
  • 由于隔离的进程独立于宿主其他的隔离的进程,因此也称为容器。Docker在容器的基础上进行了进一步的封装,从文件系统,网络互连到进程隔离等等, 极大简化了容器的创建及维护,使得Docker技术比虚拟化技术更为轻便...
  • Docker 有什么优势

    万次阅读 2018-03-09 07:00:19
    1.什么是容器?...传统的部署模式是:安装(包管理工具或者源码包编译)->配置->运行;Docker的部署模式是:复制->运行。 4. docker 会对服务器端开发/部署带来什么变化?  实现更轻量级的虚拟化,方便快速
  • Docker

    万次阅读 2020-12-19 16:44:42
    Docker
  • docker优势

    2020-08-05 10:49:45
    Docker 优势: 1、交付物标准化 Docker的标准化交付物称为"镜像",它包含了应用程序及其所依赖的运行环境,大大简化了应用交付的模式。 2、应用隔离 Docker可以隔离不同应用程序之间的相互影响,但是比虚拟机开销更...
  • 背景介绍 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。...Docker 自开源后受到广泛的关注讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已...
  • 3.docker优势

    2019-08-19 00:21:44
    传统的应用开发完成后,需要提供一堆安装程序配置说明文档,安装部署后需根据配置文档进行繁杂的配置才能正常运行。Docker化之后只需要交付少量容器镜像文件,在正式生产环境加载镜像并运行即可,应用安装配置在...
  • Docker有很多的优势,本文主要讲述了Docker的五个最重要优势,即持续集成、版本控制、可移植性、隔离性安全性。 对于Docker,应该不需要进行详细的介绍了。它是最火热的开源项目之一,通过在容器中增加一个抽象层...
  • Docker有很多的优势,如持续集成、版本控制、可移植性、隔离性、安全性高性能。另外一方面如何在企业云中实施docker,是直接使用docker(Cloud by Docker)还是将docker运行在vm中进行管理(Docker in Cloud)?...
  • 为什么是Docker? 合作开发的时候,在本机可以跑,别人的电脑跑不起来。 这里我们拿java web应用程序举例,我们一个java Web应用程序涉及很多东西,比如jdk、 tomacat 、 spring等等。当这些其中某一项版本不一致的...
  • docker优势 1、更快速地交付部署; 2、更高的虚拟化(不需要额外的hypervisor支持,是内核级的虚拟化,实现更高的性能呢效率); 3、更轻松的迁移扩展; 4、更简单的管理 与传统的虚拟机对比 特性...
  • Docker概念以及优势(推荐)

    千次阅读 2017-07-28 17:10:51
    作者:小狐濡尾 ... 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,...要搞明白docker的概念,只看定义是远远不够的。除了直接看定义外,还可以通过其他方式来认识它,主要有三种: 第一种:在长期使
  • docker

    千次阅读 2021-08-25 20:17:02
    docker
  • Docker最大的优势在于其充分发挥了容器技术的封装性,使用Docker可以轻松实现对应用程序及其依赖环境的迁移。比方说,我们在MAC环境下运行一个基于Debian系统的Nginx程序,仅仅需要在确保Docker for MAC程序启动后,...
  • Docker优势轻松聊

    2018-07-11 10:22:59
    今天重新学习Docker, 之前简单的学习过几乎都忘了,大家学新东西之前最好了解一下它是干什么的,有什么优势,废话不多说1.什么是容器? 依托与linux 内核功能的虚拟化技术2. docker 是什么? 能够把应用程序自动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,210
精华内容 13,684
关键字:

docker和传统的优势