docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别

这篇具有很好参考价值的文章主要介绍了docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 概念解释

1.1. Docker

Docker是一个用于在集中式平台上创建、部署和运行应用程序的开源工具。这使得主机的操作系统通过容器运行具有相同Linux内核的应用程序,而不是创建一个完整的虚拟机。使用docker容器不需要考虑Ram和磁盘空间的分配。它能够自己处理这些需求。

Docker只提供了应用程序的虚拟化,通过cgroup、namespace实现资源隔离,资源限制配置参见resource_constraints。

Docker容器将应用和其依赖环境全部打包到一个单一对象中,在不包含完整的操作系统的情况下就能运行普通应用,更加轻量级,可移植性更好。所以它成为了PaaS(比如Kubernates)平台的基石

Docker提供的特性:

  • Docker is Fast and Easy configurable【快速且易于配置】.
  • Technical feasibility and increased productivity.
  • Secure services【安全服务】 through commands like secret inspect and secret create, etc.
  • Provides application isolation and no container is dependent on any other.【提供应用程序隔离,且容器不依赖于任何其他容器】

docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别

1.2. LXC

LXC是Linux容器的缩写,Linux容器是一种操作系统,用于通过单个Linux内核在受控主机上虚拟运行多个Linux系统。
LXC与内核的cgroup捆绑在一起,为进程和网络空间提供功能,而不是创建一个完整的虚拟机,并为应用程序提供一个隔离的环境。

LXC代表Linux容器,它是一种用于操作系统虚拟化的工具。通过使用LXC,可以在虚拟环境中而不是在物理系统中操作任何软件或应用程序。虚拟环境功能使LXC更加安全,成本也更低。LXC很容易操作,因为它带有控制组【Control groups Cgroups】功能。

LXC为提供了完整的操作系统虚拟化,
操作系统级虚拟化是一种服务器虚拟化方法,在这种方法中,操作系统的内核允许存在多个孤立且隔离的用户空间实例,而不是只有一个

LCX就是一种轻量级虚拟化,将linux进程沙盒化,使用的是linux中的namespace技术进行资源隔离

  • pid namespace隔离了进程,
  • mount namespace隔离了文件系统,
  • network namespace隔离了网络

LXC提供的特性:

  • 它提供了内核名称空间【Kernel namespaces】,如IPC、挂载【mount】、PID、网络和用户。
  • 它提供了内核功能【Kernel capabilities】。
  • Control groups (Cgroups).
  • Seccomp profiles
    docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别

1.3. LXD

LXD代表Linux Daemon,它是一个扩展,主要用于指导LXC。它用于向LXC提供新的属性和功能,以便以更有效的方式使用LXC。LXD和LXC之间的通信是通过使用内置库完成的,liblxc就是这样一个库。

2. 区别

2.1. docker与LXC/LXD容器的区别

  • LXD/LXC是一个系统级容器。Docker是一个应用程序容器,
  • LXC不能跨机器上进行移植,而Docker可以跨机器甚至跨平台移植。
比较点 LXC Docker
Developed by LXC was created by IBM, Virtuozzo, Google and Eric Biederman. Docker was created by Solomon Hykes in 2003.
Data Retrieval LXC does not support data retrieval after it is processed. Data retrieval is supported in Docker.
Usability It is a multi-purpose solution for virtualization. It is single purpose solution.
Platform LXC is supported only on Linux platform. Docker is platform dependent.
Virtualization LXC provides us full system virtualization. Docker provides application virtualization.
Cloud support There is no need for cloud storage as Linux provides each feature. The need of cloud storage is required for a sizeable ecosystem.
Popularity Due to some constraints LXC is not much popular among the developers. Docker is popular due to containers and it took containers to a next level.
Speed Of Deployment LXC is not lightweight and consumes a lot of time . Docker Containers are lightweight and fast.

docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别

2.2. LXC与LXD区别

  • LXD可以看作是LXC的升级版。LXD的管理命令和LXC的管理命令大多相同。
  • LXC起源于cgroup和namespaces,使得进程之间相互隔离,即进程虚拟化。
  • LXC有一些缺点,比如无法有效支持跨主机之间的容器迁移、管理复杂。而LXD很好地解决了这些问题。
  • LXC/LXD和docker不同的地方在于LXC/LXD中包含完整的操作系统。
LXC LXD
LXC is a virtual environment creation tool, it was built by Google, IBM etc. LXD is an add on for the LXC to provide advanced features and functionalities.
Multiple processes are needed for multiple containers and hence it is not flexible. LXD makes it flexible by providing a single process for multiple containers.
Snapshots, Live Migration【快照和动态迁移】 etc are some of the features which are not supported by LXC. LXD supports snapshots and lives migration features.
Scalability functionality is not provided by LXC and hence users shift to other virtual solutions. With the use of LXD, scalability is achieved in LXC.
Management capabilities are poor, especially in the case of network and storage. It has better management capabilities like storage pooling.
It is not user friendly and needs the expertise to handle the processes. It provides a user-friendly interface.
After data processing, the data cannot be retrieved. Data retrieval functionality after data processing is provided in LXD.
C API is used by the LXC. LXD uses REST API.

2.3. 传统的虚拟机与操作系统虚拟化的区别

  • 传统的虚拟机使用了一种叫做hypervisor的东西,它运行在内核之上,该管理程序通过监视其资源使用情况和访问模式,为在其上运行的应用程序提供虚拟化。这会导致大量开销,导致不必要的性能损失。
  • 操作系统级虚拟化的工作方式不同。它使用namespace和cgroup来限制应用程序的功能,包括资源的使用,这是linux内核提供的一个特性,几乎没有开销。

docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别文章来源地址https://www.toymoban.com/news/detail-400885.html

到了这里,关于docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么是虚拟路由器?与传统物理路由器有啥区别?

    网络技术的不断发展是当今信息时代的重要特征。随着互联网的普及和企业网络规模的扩大,网络设备的需求不断增加。在这个背景下,路由器作为连接不同网络的关键设备,扮演着至关重要的角色。然而,随着网络规模的扩大和需求的多样化,传统的物理路由器逐渐显露出

    2024年01月18日
    浏览(44)
  • 【华为云】基于华为云欧拉操作系统(HCE OS)容器化部署传统应用(Redis+Postgresql+Git+SpringBoot+Nginx)

    博文内容为 华为云欧拉操作系统入门级开发者认证(HCCDA – Huawei Cloud EulerOS) 实验笔记整理 认证地址:https://edu.huaweicloud.com/certificationindex/developer/9bf91efb086a448ab4331a2f53a4d3a1 博文内容涉及一个传统 Springboot 应用HCE部署, 以及相关数据库 Redis、Postgresql、Nginx 的容器化部署 理解不

    2024年02月22日
    浏览(61)
  • 查看虚拟机操作系统版本

    看虚拟机操作系统版本,可以按照以下步骤进行: 打开虚拟机并登录到操作系统。 打开终端,输入以下命令: 这个命令会显示操作系统的版本信息,包括发行版名称、版本号和描述。 另外,你也可以尝试以下命令来获取操作系统的版本信息: 这个命令会显示操作系统的名

    2024年02月12日
    浏览(51)
  • 操作系统笔记--虚拟内存的使用

            在计算机系统中,当多道程序同时运行时可能会出现内存不足的情况,一般可通过以下技术进行解决: 覆盖技术 :         当程序太大超出内存容量时,可以采用手动覆盖的技术,只把需要的指令和数据保存在内存当中; 交换技术 :         当程序太大超出内

    2023年04月21日
    浏览(32)
  • 编辑虚拟网络和安装操作系统

    创建的虚拟机搭建一个虚拟双网卡网络,使它能与宿主机(安装VMware的主机)进行通信并能够通过宿主机连接上互联网。 一、编辑虚拟网络 1.进入虚拟网络编辑器 单击主界面菜单中的“编辑”→“虚拟网络编辑器”,弹出“虚拟网络编辑器”对话框  接下来,单击“更改设

    2024年02月07日
    浏览(48)
  • 虚拟内存页面置换算法(操作系统)

    通过这次实验,加深对虚拟内存页面置换概念的理解,进一步掌握先进先出FIFO、最佳置换OPI和最近最久未使用LRU页面置换算法的实现方法。 问题描述: 设计程序模拟先进先出FIFO、最佳置换OPI和最近最久未使用LRU页面置换算法的工作过程。假设内存中分配给每个进程的最小物

    2024年02月04日
    浏览(54)
  • 欧拉操作系统和linux区别

    centos和Linux区别? linux与centos的区别与联系: 1、centos是基于linux建立的操作系统。 2、linux属于内核系统,只有终端命令界面,无图形界面。 3、centos同时拥有终端命令界面和图形界面。 4、linux和centos都是属于开源系统。 一般来说,我们平时说Linux指的是Linux系统内核,而cen

    2024年02月05日
    浏览(54)
  • 【Linux】安装配置虚拟机及虚拟机操作系统的安装

    目录 一、操作系统 1. 介绍 2. 功能  3. 有哪些 4. 个人版本和服务器版本的区别 二、VMWare虚拟机 1. 安装 2. 配置 三、安装配置Windows Server 1. 配置 2. 安装 四、虚拟机的环境配置及连接 1. 主机连接虚拟机 2. 虚拟机环境配置及共享 3. 环境配置 操作系统是计算机系统中的核心软件

    2024年02月08日
    浏览(44)
  • 虚拟机及windows操作系统安装

     一、虚拟机的安装 一路next 【用户体验计划】全都取消勾选 已经注册过,永久有效      ——文件来自【微信公众号[低调鸡哥]后台回复[vm虚拟机]】 二、Win7的激活与安装 打开msdn官网:MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn) 【操作系统】-【Windows 7】 选择版本下载

    2024年02月08日
    浏览(42)
  • 操作系统(5.1)--虚拟储存器

    目录 常规存储管理方式的特征和局部性原理 1.常规存储器管理方式的特征 2.局部性原理 3.虚拟存储器的基本工作情况 虚拟储存器的定义和特征 1.虚拟存储器的定义 2.虚拟存储器的特征 虚拟储存器的实现方式  1.分页请求系统 2.请求分段系统 例题 1.常规存储器管理方式的特征

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包