成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

什么是容器運行時?

開發 前端
在學習 容器鏡像 時,我們討論了容器的基本原理,但現在是深入研究容器運行時runtime的時候了,從而了解容器環境是如何構建的。本文的部分信息摘自 開放容器計劃Open Container Initiative(OCI)的 官方文檔,所以無論使用何種容器引擎,這些信息都是一致的。

通過深入了解容器運行時,理解容器環境是如何建立的。

[[423259]]

在學習 容器鏡像 時,我們討論了容器的基本原理,但現在是深入研究容器運行時runtime的時候了,從而了解容器環境是如何構建的。本文的部分信息摘自 開放容器計劃Open Container Initiative(OCI)的 官方文檔,所以無論使用何種容器引擎,這些信息都是一致的。

容器運行機制

那么,當你運行 podman run 或 docker run 命令時,在后臺到底發生了什么?一個分步的概述如下:

  • 如果本地沒有鏡像,則從鏡像登記倉庫registry拉取鏡像
  • 鏡像被提取到一個寫時復制(COW)的文件系統上,所有的容器層相互堆疊以形成一個合并的文件系統
  • 為容器準備一個掛載點
  • 從容器鏡像中設置元數據,包括諸如覆蓋 CMD、來自用戶輸入的 ENTRYPOINT、設置 SECCOMP 規則等設置,以確保容器按預期運行
  • 提醒內核為該容器分配某種隔離,如進程、網絡和文件系統(命名空間namespace)
  • 提醒內核為改容器分配一些資源限制,如 CPU 或內存限制(控制組cgroup)
  • 傳遞一個系統調用syscall給內核用于啟動容器
  • 設置 SELinux/AppArmor

容器運行時負責上述所有的工作。當我們提及容器運行時,想到的可能是 runc、lxc、containerd、rkt、cri-o 等等。嗯,你沒有錯。這些都是容器引擎和容器運行時,每一種都是為不同的情況建立的。

容器運行時Container runtime更側重于運行容器,為容器設置命名空間和控制組(cgroup),也被稱為底層容器運行時。高層的容器運行時或容器引擎專注于格式、解包、管理和鏡像共享。它們還為開發者提供 API。

開放容器計劃(OCI)

開放容器計劃Open Container Initiative(OCI)是一個 Linux 基金會的項目。其目的是設計某些開放標準或圍繞如何與容器運行時和容器鏡像格式工作的結構。它是由 Docker、rkt、CoreOS 和其他行業領導者于 2015 年 6 月建立的。

它通過兩個規范來完成如下任務:

1、鏡像規范

該規范的目標是創建可互操作的工具,用于構建、傳輸和準備運行的容器鏡像。

該規范的高層組件包括:

  • 鏡像清單 — 一個描述構成容器鏡像的元素的文件
  • 鏡像索引 — 鏡像清單的注釋索引
  • 鏡像布局 — 一個鏡像內容的文件系統布局
  • 文件系統布局 — 一個描述容器文件系統的變更集
  • 鏡像配置 — 確定鏡像層順序和配置的文件,以便轉換成 運行時捆包
  • 轉換 — 解釋應該如何進行轉換的文件
  • 描述符 — 一個描述被引用內容的類型、元數據和內容地址的參考資料

2、運行時規范

該規范用于定義容器的配置、執行環境和生命周期。config.json 文件為所有支持的平臺提供了容器配置,并詳細定義了用于創建容器的字段。在詳細定義執行環境時也描述了為容器的生命周期定義的通用操作,以確保在容器內運行的應用在不同的運行時環境之間有一個一致的環境。

Linux 容器規范使用了各種內核特性,包括命名空間namespace、控制組cgroup、權能capability、LSM 和文件系統隔離jail等來實現該規范。

小結

容器運行時是通過 OCI 規范管理的,以提供一致性和互操作性。許多人在使用容器時不需要了解它們是如何工作的,但當你需要排除故障或優化時,了解容器是一個寶貴的優勢。

責任編輯:未麗燕 來源: Linux中國
相關推薦

2023-07-28 10:42:43

2024-03-20 10:46:00

云原生容器

2019-07-12 09:30:12

DashboardDockerDNS

2023-01-03 09:10:21

2023-08-29 08:20:35

Kubernete跨云容器

2021-10-22 00:09:16

Kubernetes容器接口

2020-08-11 08:59:20

容器虛擬化技術

2015-07-20 15:44:46

Swift框架MJExtension反射

2024-03-21 09:15:58

JS運行的JavaScrip

2021-03-15 08:33:01

CC++動態庫

2021-09-02 05:37:22

Containerd Kubernetes 容器

2021-12-23 07:58:06

Kubelet容器運行

2013-11-26 16:49:55

Android開發運行時KitKat

2021-08-18 08:32:09

代碼運行時間示波器

2020-12-07 13:31:43

GoMutex開發者

2022-01-19 08:50:53

設備樹Linux文件系統

2023-02-12 12:00:57

2021-08-27 00:21:19

JSJust源碼

2022-12-30 08:08:30

2020-11-16 09:28:41

函數內存
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费黄色在线观看 | 天天曰天天曰 | 一级看片免费视频 | aaaa一级毛片 | 91一区 | 日韩精品一区二区三区四区视频 | 亚洲一区二区三区在线播放 | 国产精品成人一区二区 | 成人免费视频网站在线看 | 久久久久久黄 | 久久中文字幕一区 | 99精品视频免费在线观看 | 男人的天堂亚洲 | 国产美女在线观看 | 男女视频网站 | 欧美综合一区二区三区 | 国产婷婷色综合av蜜臀av | 欧美日韩国产一区二区三区 | 97人澡人人添人人爽欧美 | 国产精品免费小视频 | 国产999精品久久久影片官网 | 久久精品亚洲精品国产欧美 | 亚洲最色网站 | 91热在线| 国产片侵犯亲女视频播放 | 欧美一区二区三区在线观看 | 亚洲国产成人在线观看 | 久久69精品久久久久久久电影好 | www.99re| 欧美精品一区二区三区四区五区 | 中文在线a在线 | 一区二区三区视频在线观看 | 久久精品亚洲精品国产欧美 | 国产日韩欧美在线 | 日日干干夜夜 | www.日本精品 | av中文在线观看 | 午夜在线观看视频 | 欧美日韩高清在线一区 | 国产高清视频在线观看 | 国产成人精品一区二区三区在线观看 |