# Container Runtime究竟是啥
Container Runtime是個非常廣泛的概念,它含義的多樣性來自於一些歷史原因。
最早Docker發佈是作爲一個e2e的產品,它包含了幾乎所有需要的功能:定義鏡像格式(image format); 構建鏡像(build images);管理鏡像;管理鏡像格式;推送、拉取鏡像;運行鏡像。在Linux Foundation組建Open Container Initiative (OCI)之後,Docker將Container Runtime捐出,作爲OCI Runtime Specification的基礎。早期捐贈的內容侷限於runc,即運行容器的部分。
如今當我們提起Container Runtimes,我們會想到runc, lxc, lmctfy, containerd, rkt, cri-o。它們有共同之處,但也爲了用於不同的場景,提供了不同的功能。比如,偏底層的運行時會和namespaces
與cgroup
打交道,偏上層的運行時側重於鏡像的格式,管理等功能。註:容器這個抽象的概念是基於Linux的namespaces
和cgroup
來實現的。
To Be Done
# 各種Runtime的簡介
TBD
# K8s Runtimes和CRI
TBD