1. 程式人生 > >Docker、LXC、LXD這三種容器的區別

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等,就不多贅述了。
這裡寫圖片描述

展望:
在後續版本CORD 中,LXD containers 必將被docker containers所替換。