在部署完成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所替換。