美文网首页
关于Docker与vm虚拟机对比

关于Docker与vm虚拟机对比

作者: 坏怂文文 | 来源:发表于2020-03-20 00:45 被阅读0次

    本文摘自 原贴链接

    Docker是一个开源的应用容器引擎,采用沙箱的机制,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    虚拟化是一种资源管理技术,将计算机上的各种实体资源进行抽象,重新呈现出 来,打破了实体结构之间不可切割的障碍,使用户以更加合理的组态使用资源。

    docker与VMware的比较

    docker可以完成虚拟机可以完成的所有功能,并且Vm所有虚拟机在创建的时候回虚拟独立的系统内核,而docker所有的虚拟机共用主机的系统内核,节约了虚拟环境系统部署的资源,将更好的性能提供给了应用,所以docker占用资源小,比虚拟机开启更快,更方便。

    关于Docker的一些名词

    • Server 服务器
    • HOST os 主机系统
    • HYPErvisor 虚拟机管理程序
    • DOCKER engine docker引擎
    • GUEST os虚拟环境系统
    • BINS/Libs 开发依赖包
    • APP 应用功能
    • Register:仓库,用来存放docker 镜像。
    • Image:镜像,就是封装好的docker实例,包含要运行应用的依赖环境和程序,但是image镜像是只读的,无法进行直接操作。
    • Container:容器,用来打开,并且使用镜像
    VMware结构 docker结构

    Docker的优点:

    1. 配置快
      提供独立的开发环境,便于开发, 由于docker可以在各种各样的环境中使用,而基础架构不要求与应用程序的环境相关联,因此不存在兼容性问题。

    2. 提高工作效率
      这是一种类似于集装箱的概念,在开发之初就将项目放到一个类似于集装箱的独立环境进行开发,到部署的时候只是部署集装箱环境,而集装箱环境已经被所有的系统指定了统一标准,不存在兼容问题,所以可以提高工作效率。

    3. 应用隔离
      docker提供用于在隔离环境中运行应用程序的容器。 每个容器都是独立,并允许执行任何类型的应用程序,并且不存在入侵和病毒感染的问题,甚至可以使用沙箱进行病毒隔离。

    4. 云集
      它是docker容器的集群和调度工具。 Swarm使用Docker API作为其前端,这有助于我们使用各种工具来控制它。 它还可以将docker主机集群控制为一个虚拟主机。 这是一个用于启用可插拔后端的自组织引擎组。

    5. 路由网
      它能够将可用节点上已发布端口的传入请求路由到活动容器,实现连接。

    6. 服务
      服务是允许指定集群内的容器状态的任务列表。 每个任务表示一个应该运行的容器的一个实例,并且Swarm在节点之间调度它们。

    7. 安全管理
      安全性和管理应当是一个高优先级的考虑因素;企业用户不应再把它们当作应用程序迁移至容器的最后一步。反之,企业必须从一开始就做好安全性和管理的规划,把它们的功能纳入应用程序的开发过程中,并在应用程序运行过程中积极主动地关注这些方面。

    Docker的局限:

    1. Docker是基于Linux64 bit的,无法在32bit的 Linux/Windows/unix环境下使用。
    2. LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的。
    3. 隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库。
    4. 网络管理相对简单,主要是基于namespace隔离cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)。
    5. Docker对disk的管理比较有限,container随着用户进程的停止而销毁,container中的log等用户数据不便收集。

    相关文章

      网友评论

          本文标题:关于Docker与vm虚拟机对比

          本文链接:https://www.haomeiwen.com/subject/aecdyhtx.html