最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker、LXC、LXD的區(qū)別及傳統(tǒng)的虛擬機(jī)與操作系統(tǒng)虛擬化詳解

 更新時間:2025年09月19日 09:57:33   作者:enjoy編程  
文章對比了Docker、LXC/LXD與傳統(tǒng)虛擬機(jī)的區(qū)別,Docker為應(yīng)用級容器,輕量快速,跨平臺部署;LXC提供系統(tǒng)級虛擬化,基于Linux內(nèi)核,但管理復(fù)雜;LXD作為LXC升級,支持快照遷移等高級功能,采用REST API,傳統(tǒng)虛擬機(jī)依賴hypervisor,資源開銷大,性能損耗明顯

1. 概念解釋

1.1. Docker

Docker是一個用于在集中式平臺上創(chuàng)建、部署和運(yùn)行應(yīng)用程序的開源工具。

這使得主機(jī)的操作系統(tǒng)通過容器運(yùn)行具有相同Linux內(nèi)核的應(yīng)用程序,而不是創(chuàng)建一個完整的虛擬機(jī)。

使用docker容器不需要考慮Ram和磁盤空間的分配。它能夠自己處理這些需求。

Docker只提供了應(yīng)用程序的虛擬化,通過cgroup、namespace實(shí)現(xiàn)資源隔離,資源限制配置參見resource_constraints

Docker容器將應(yīng)用和其依賴環(huán)境全部打包到一個單一對象中,在不包含完整的操作系統(tǒng)的情況下就能運(yùn)行普通應(yīng)用,更加輕量級,可移植性更好。所以它成為了PaaS(比如Kubernates)平臺的基石

Docker提供的特性:

  • Docker is Fast and Easy configurable【快速且易于配置】.
  • Technical feasibility and increased productivity.
  • Secure services【安全服務(wù)】 through commands like secret inspect and secret create, etc.
  • Provides application isolation and no container is dependent on any other.【提供應(yīng)用程序隔離,且容器不依賴于任何其他容器】

1.2. LXC

LXC是Linux容器的縮寫,Linux容器是一種操作系統(tǒng),用于通過單個Linux內(nèi)核在受控主機(jī)上虛擬運(yùn)行多個Linux系統(tǒng)。

LXC與內(nèi)核的cgroup捆綁在一起,為進(jìn)程和網(wǎng)絡(luò)空間提供功能,而不是創(chuàng)建一個完整的虛擬機(jī),并為應(yīng)用程序提供一個隔離的環(huán)境。

LXC代表Linux容器,它是一種用于操作系統(tǒng)虛擬化的工具。通過使用LXC,可以在虛擬環(huán)境中而不是在物理系統(tǒng)中操作任何軟件或應(yīng)用程序。虛擬環(huán)境功能使LXC更加安全,成本也更低。LXC很容易操作,因為它帶有控制組【Control groups Cgroups】功能。

LXC為提供了完整的操作系統(tǒng)虛擬化,

操作系統(tǒng)級虛擬化是一種服務(wù)器虛擬化方法,在這種方法中,操作系統(tǒng)的內(nèi)核允許存在多個孤立且隔離的用戶空間實(shí)例,而不是只有一個

LCX就是一種輕量級虛擬化,將linux進(jìn)程沙盒化,使用的是linux中的namespace技術(shù)進(jìn)行資源隔離

  • pid namespace隔離了進(jìn)程,
  • mount namespace隔離了文件系統(tǒng),
  • network namespace隔離了網(wǎng)絡(luò)

LXC提供的特性:

  • 它提供了內(nèi)核名稱空間【Kernel namespaces】,如IPC、掛載【mount】、PID、網(wǎng)絡(luò)和用戶。
  • 它提供了內(nèi)核功能【Kernel capabilities】。
  • Control groups (Cgroups).
  • Seccomp profiles

1.3. LXD

LXD代表Linux Daemon,它是一個擴(kuò)展,主要用于指導(dǎo)LXC。

它用于向LXC提供新的屬性和功能,以便以更有效的方式使用LXC。

LXD和LXC之間的通信是通過使用內(nèi)置庫完成的,liblxc就是這樣一個庫。

2. 區(qū)別

2.1. docker與LXC/LXD容器的區(qū)別

  • LXD/LXC是一個系統(tǒng)級容器。Docker是一個應(yīng)用程序容器,
  • LXC不能跨機(jī)器上進(jìn)行移植,而Docker可以跨機(jī)器甚至跨平臺移植。
比較點(diǎn)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區(qū)別

  • LXD可以看作是LXC的升級版。LXD的管理命令和LXC的管理命令大多相同。
  • LXC起源于cgroup和namespaces,使得進(jìn)程之間相互隔離,即進(jìn)程虛擬化。
  • LXC有一些缺點(diǎn),比如無法有效支持跨主機(jī)之間的容器遷移、管理復(fù)雜。而LXD很好地解決了這些問題。
  • LXC/LXD和docker不同的地方在于LXC/LXD中包含完整的操作系統(tǒng)。
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【快照和動態(tài)遷移】 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. 傳統(tǒng)的虛擬機(jī)與操作系統(tǒng)虛擬化的區(qū)別

  • 傳統(tǒng)的虛擬機(jī)使用了一種叫做hypervisor的東西,它運(yùn)行在內(nèi)核之上,該管理程序通過監(jiān)視其資源使用情況和訪問模式,為在其上運(yùn)行的應(yīng)用程序提供虛擬化。這會導(dǎo)致大量開銷,導(dǎo)致不必要的性能損失。
  • 操作系統(tǒng)級虛擬化的工作方式不同。它使用namespace和cgroup來限制應(yīng)用程序的功能,包括資源的使用,這是linux內(nèi)核提供的一個特性,幾乎沒有開銷。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

九龙坡区| 珲春市| 乌鲁木齐市| 兴安盟| 贡山| 河西区| 太湖县| 大庆市| 全南县| 海盐县| 东乌珠穆沁旗| 井陉县| 彭山县| 阳春市| 漳平市| 武平县| 房山区| 文山县| 连平县| 千阳县| 射洪县| 吉林省| 广平县| 安岳县| 望城县| 沛县| 南涧| 开阳县| 安西县| 疏勒县| 县级市| 六枝特区| 南汇区| 东阳市| 尖扎县| 兰州市| 鹤岗市| 项城市| 武夷山市| 克拉玛依市| 阿坝|