docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化的区别
创始人
2024-04-21 10:40:54
0

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.【提供应用程序隔离,且容器不依赖于任何其他容器】

在这里插入图片描述

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
    在这里插入图片描述

1.3. LXD

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

2. 区别

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

  • LXD/LXC是一个系统级容器。Docker是一个应用程序容器,
  • LXC不能跨机器上进行移植,而Docker可以跨机器甚至跨平台移植。
比较点LXCDocker
Developed byLXC was created by IBM, Virtuozzo, Google and Eric Biederman.Docker was created by Solomon Hykes in 2003.
Data RetrievalLXC does not support data retrieval after it is processed.Data retrieval is supported in Docker.
UsabilityIt is a multi-purpose solution for virtualization.It is single purpose solution.
PlatformLXC is supported only on Linux platform.Docker is platform dependent.
VirtualizationLXC provides us full system virtualization.Docker provides application virtualization.
Cloud supportThere is no need for cloud storage as Linux provides each feature.The need of cloud storage is required for a sizeable ecosystem.
PopularityDue 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 DeploymentLXC is not lightweight and consumes a lot of time .Docker Containers are lightweight and fast.

在这里插入图片描述

2.2. LXC与LXD区别

  • LXD可以看作是LXC的升级版。LXD的管理命令和LXC的管理命令大多相同。
  • LXC起源于cgroup和namespaces,使得进程之间相互隔离,即进程虚拟化。
  • LXC有一些缺点,比如无法有效支持跨主机之间的容器迁移、管理复杂。而LXD很好地解决了这些问题。
  • LXC/LXD和docker不同的地方在于LXC/LXD中包含完整的操作系统。
LXCLXD
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内核提供的一个特性,几乎没有开销。

在这里插入图片描述

相关内容

热门资讯

鸿蒙怎样还原安卓系统,系统切换... 你有没有想过,鸿蒙系统竟然能还原安卓系统?这听起来是不是有点像魔法一样神奇?没错,今天就要带你一探究...
电脑安卓转苹果系统,系统迁移攻... 你有没有想过,有一天你的安卓手机突然变成了苹果的忠实粉丝,想要跳槽到iOS的阵营呢?这可不是什么天方...
安卓xp系统下载地址,轻松获取... 你有没有想过,手机系统也能穿越时空?没错,今天我要给你揭秘的就是这样一个神奇的存在——安卓XP系统。...
安卓系统怎么清理相册,安卓系统... 手机里的相册是不是越来越臃肿了?每次打开都感觉像是在翻山越岭,找一张照片都要费老鼻子劲。别急,今天就...
安卓系统安装ios转移,轻松实... 你有没有想过,手机系统之间的转换竟然也能如此神奇?没错,今天就要来聊聊安卓系统安装iOS转移这个话题...
安卓系统与ios系统的优势,系... 你有没有想过,为什么你的手机里装的是安卓系统而不是苹果的iOS系统呢?或者反过来,为什么你的朋友用的...
安卓系统游戏如何升级,轻松实现... 亲爱的安卓玩家们,你是否也和我一样,对安卓系统游戏升级这件事充满了好奇和期待呢?每次游戏更新,都仿佛...
安卓系统蛋仔派对,安卓系统下的... 你有没有发现,最近你的手机里多了一个超级好玩的游戏?没错,就是安卓系统上的“蛋仔派对”!这款游戏可是...
坚果3安卓原生系统,深度体验原... 你有没有听说过坚果3这款手机?它可是最近在数码圈里火得一塌糊涂呢!今天,我就要来给你详细介绍一下这款...
安卓子系统点不开,排查与解决指... 最近是不是你也遇到了安卓子系统点不开的烦恼?这可真是让人头疼啊!别急,今天就来给你详细解析一下这个问...
安卓系统经常误删文件,如何有效... 你有没有遇到过这种情况?手机里的文件突然不见了,找来找去,怎么也找不到。别急,这可能是安卓系统的小调...
安卓51系统如何破解,轻松解锁... 安卓51系统如何破解——探索未知的技术边界在数字化时代,手机已经成为我们生活中不可或缺的一部分。而安...
安卓系统怎么换回主题,安卓系统... 亲爱的手机控们,你是不是也和我一样,对安卓系统的主题换换换乐此不疲呢?不过,有时候换着换着,突然发现...
黑莓安卓系统 太垃圾,令人失望... 你有没有用过黑莓的安卓系统?别告诉我你没有,因为现在这个系统真的是太垃圾了!是的,你没听错,就是那个...
修改安卓系统权限代码,安卓系统... 你有没有想过,你的安卓手机里那些神秘的系统权限代码?它们就像隐藏在手机里的秘密通道,有时候让你觉得既...
虚拟大师安卓系统教程,教程详解... 你有没有想过,手机里的世界可以变得更加神奇?今天,就让我带你一起探索虚拟大师安卓系统的奥秘吧!想象你...
基于安卓系统个人博客,轻松构建... 你有没有想过,在这个信息爆炸的时代,拥有一片属于自己的网络小天地是多么酷的事情啊!想象每天都能在这里...
安卓怎么传到苹果系统,从安卓到... 你是不是也有过这样的烦恼:手机里存了好多好用的安卓应用,可是一换到苹果系统,就发现这些宝贝们都不见了...
安卓改系统字体app,安卓系统... 你有没有想过,手机上的字体也能变得个性十足?没错,就是那个安卓改系统字体app,它可是让手机界面焕然...
安卓系统重启密码错误,破解与预... 手机突然重启了,屏幕上竟然出现了密码输入的界面!这可怎么办?别急,让我来帮你一步步解决这个安卓系统重...