天天看點

Docker、LXC、LXD這三種容器的差別

在部署完成CORD 環境中, 既有docker containers ,又有LXD/LXC containers。我便查閱了資料學習一下,并對它們的差別進行一個小結

LXC和LXD

在介紹LXD之前先介紹LXC,因為LXD可以視作LXC的更新版。LXD的管理指令和LXC的管理指令大多相同。

LXC起源于cgroup和namespaces,使得程序之間互相隔離,即程序虛拟化。

LXC有一些缺點,比如無法有效支援跨主機之間的容器遷移、管理複雜。而LXD很好地解決了這些問題。

LXC/LXD和docker不同的地方在于LXC/LXD中包含完整的作業系統。

Docker

Docker容器将應用和其依賴環境全部打包到一個單一對象中,在不包含完整的作業系統的情況下就能運作普通應用,更加輕量級,可移植性更好。是以它成為了PaaS(比如Kubernates)平台的基石。

Docker 和 LXD/LXC 差別

LXD/LXC是一個系統容器。Docker是一個應用程式容器,

LXC不能跨機器上進行移植,而Docker可以跨機器甚至跨平台移植。

當然還有其它差別,比如标準化的API等,就不多贅述了。

Docker、LXC、LXD這三種容器的差別

展望:

在後續版本CORD 中,LXD containers 必将被docker containers所替換。