對容器執行時runc的簡單理解

2022-02-03 00:48:34 字數 943 閱讀 7472

1、容器執行時,傳統意義上來說就是代表容器從拉取映象到啟動執行再到中止的整個生命週期

2、oci標準:

docker 公司與 coreos 和 google 共同建立了 oci (open container initial),並提供了兩種規範:

3、docker和runc的關係

runc是乙個根據oci標準建立並執行容器的命令列工具(cli tool)。

docker就是基於runc建立的,簡單地說,runc就是docker中最為核心的部分,容器的建立,執行,銷毀等等操作最終都將通過呼叫runc完成。而runc也有自己的客戶端,後來被提取出來作為乙個單獨的工具和庫。其實現了 oci 規範,包含config.json檔案和容器的根檔案系統。

如何用runc,以最精簡的方式建立並執行乙個容器:

(docker、google等公司開源了用於執行容器的工具和庫 runc,在此之後,各種執行時工具和庫也慢慢出現,例如 rkt、containerd、cri-o 等,然而這些工具所擁有的功能卻不盡相同,有的只有執行容器(runc、lxc),而有的除此之外也可以對映象進行管理(containerd、cri-o)。

4、容器執行時分類: low-level 和 high-level 兩類

low-level runtime :關注如何與作業系統互動,建立並執行容器,使用 namespace 和 cgroup 實現資源隔離和限制。

目前常見的 low-level runtime有:

high-level: 指包含了更多上層功能,例如 grpc呼叫,映象儲存管理等。

high-level runtimes相較於low-level runtimes位於堆疊的上層。low-level runtimes負責實際執行容器,而high-level runtimes負責傳輸和管理容器映象,解壓映象,並傳遞給low-level runtimes來執行容器。目前主流的 high-level runtime 有:

容器執行時 containerd

本篇是第八部分 生態篇 的第二篇。在這個部分,我會為你介紹 docker 生態中的相關專案,以及如何參與到 docker 專案中,最後會聊聊 docker 未來的走向,上篇,我為你介紹下 docker 與 kubernetes 相關的內容。本篇,我們來聊聊容器執行時 containerd。在之前的 ...

執行時 RunTime 的理解

首先是 什麼是執行時 oc是執行時語言,只有在程式執行時,才會去確定物件的型別,並呼叫類與物件相應的方法.利用runtime機制讓我們可以在程式執行時動態修改類.物件中的所有屬性,方法 執行時是oc訊息機制的平台,例如函式的呼叫,在編譯的時候並不能決定真正呼叫哪個函式,只有在真正執行時的時候才會根據...

理解C C 執行時庫

執行時庫 runtime library 通俗的說就是我們的程式執行的時候所依賴的庫檔案,在windows平台這些庫由微軟提供,並且是以2種形式提供 靜態庫 lib 動態庫 lib dll 每個庫還都提供debug release2個版本。c c 執行時庫從形式上來講和我們自己開發的靜態庫 動態庫沒...