官术网_书友最值得收藏!

1.3.2 容器鏡像構建工具——Kaniko

Kaniko是Google開發的、從Dockerfile(一個文本文檔,其中包含了用戶創建鏡像的所有命令和說明)中構建容器鏡像的工具,是開源的。

傳統的Docker構建是一個Docker守護進程,它使用根用戶(Root)在主機上順序執行,并根據Dockerfile生成鏡像的每一層。當Docker后臺進程無法暴露時,構建鏡像就會變得困難。Kaniko就很好地解決了這個問題。它不依賴于Docker守護進程,而是完全在用戶空間中執行Dockerfile中的每個命令。

Kaniko是以容器方式運行的,運行時需要三個參數:Dockerfile、上下文、遠端倉庫。Kaniko執行構建鏡像的過程如下:

1)從Dockerfile提取基礎鏡像到文件系統。

2)根據Dockerfile的命令逐條執行。

3)每條命令執行后會在用戶空間生成文件系統的快照,并與存儲在內存中的狀態進行比對。

4)如果有變化,就將生成一個鏡像層并添加在原來的基礎鏡像層之上。

5)所有命令執行完畢后,Kaniko會將最終鏡像推送到指定的遠程倉庫。

Kaniko的工作流程如圖1-4所示。

圖1-4 Kaniko的工作流程

主站蜘蛛池模板: 长寿区| 巴林左旗| 德惠市| 海门市| 合水县| 新化县| 武穴市| 凤台县| 壤塘县| 栾川县| 台南市| 寿光市| 青海省| 姜堰市| 沧州市| 方城县| 新宁县| 长治市| 中方县| 武义县| 寿光市| 新乡市| 临漳县| 商水县| 冕宁县| 石柱| 沁水县| 西丰县| 峨边| 池州市| 班玛县| 庆云县| 台江县| 蒲城县| 石台县| 启东市| 兰坪| 确山县| 刚察县| 黄山市| 肇州县|