[發明專利]一種Docker鏡像構建方法及裝置在審
| 申請號: | 201910760415.1 | 申請日: | 2019-08-16 |
| 公開(公告)號: | CN110704156A | 公開(公告)日: | 2020-01-17 |
| 發明(設計)人: | 閆璟 | 申請(專利權)人: | 北京奇藝世紀科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F8/61 |
| 代理公司: | 11662 北京華夏泰和知識產權代理有限公司 | 代理人: | 郭金鑫 |
| 地址: | 100080 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 鏡像文件 差異信息 新層 臨時容器 鏡像構建 創建 寫入 存儲空間 方案創建 方案構建 計算節點 重新構建 體積小 構建 帶寬 分發 倉庫 占用 更新 | ||
1.一種Docker鏡像構建方法,其特征在于,包括:
當接收到鏡像構建請求時,確定基礎鏡像;
利用所述基礎鏡像創建臨時容器;
獲取構建Docker鏡像所需的目標鏡像文件;
確定所述基礎鏡像中的鏡像文件與所述目標鏡像文件的差異信息;
將所述差異信息寫入所述臨時容器;
提交寫入有所述差異信息的臨時容器作為所述基礎鏡像的新層,將包含有所述新層的基礎鏡像作為所述Docker鏡像。
2.根據權利要求1所述的Docker鏡像構建方法,其特征在于,所述確定基礎鏡像,包括:
獲取至少一個候選鏡像;
確定所述候選鏡像中是否包含鏡像運行所需的全部依賴項;
將包含鏡像運行所需的全部依賴項的候選鏡像作為第一鏡像;
獲取所述第一鏡像中的鏡像文件的層數;
判斷所述鏡像文件的層數是否超過預設閾值;
如果所述鏡像文件的層數沒有超過預設閾值,將鏡像文件的層數沒有超過預設閾值的所述第一鏡像作為基礎鏡像。
3.根據權利要求1所述的Docker鏡像構建方法,其特征在于,所述確定所述基礎鏡像中的鏡像文件與所述目標鏡像文件的差異信息,包括:
將所述目標鏡像文件掛載入所述臨時容器的目錄中;
獲取所述基礎鏡像中的鏡像文件與所述臨時容器的目錄的映射關系;
根據所述映射關系,在所述臨時容器中,采用遞歸遍歷的方式,計算所述基礎鏡像中的鏡像文件和所述目標鏡像文件的哈希差異,得到差異信息。
4.根據權利要求1所述的Docker鏡像構建方法,其特征在于,所述確定所述基礎鏡像中的鏡像文件與所述目標鏡像文件的差異信息,包括:
獲取所述基礎鏡像中的鏡像文件的標識;
根據所述基礎鏡像中的鏡像文件的標識,獲取所述基礎鏡像中的鏡像文件的代碼提交歷史;
獲取所述目標鏡像文件的標識;
根據所述目標鏡像文件的標識,獲取所述目標鏡像文件的代碼提交歷史;
根據所述基礎鏡像中的鏡像文件的代碼提交歷史和所述目標鏡像文件的代碼提交歷史,確定所述基礎鏡像中的鏡像文件與所述目標鏡像文件的差異信息。
5.根據權利要求1所述的Docker鏡像構建方法,其特征在于,所述方法還包括:
記錄所述Docker鏡像中鏡像文件的標識。
6.一種Docker鏡像構建裝置,其特征在于,包括:
基礎鏡像確定模塊,用于當接收到鏡像構建請求時,確定基礎鏡像;
容器創建模塊,用于利用所述基礎鏡像創建臨時容器;
目標鏡像文件獲取模塊,用于獲取構建Docker鏡像所需的目標鏡像文件;
差異信息確定模塊,用于確定所述基礎鏡像中的鏡像文件與所述目標鏡像文件的差異信息;
寫入模塊,用于將所述差異信息寫入所述臨時容器;
新層提交模塊,用于提交寫入有所述差異信息的臨時容器作為所述基礎鏡像的新層,將包含有所述新層的基礎鏡像作為所述Docker鏡像。
7.根據權利要求6所述的Docker鏡像構建裝置,其特征在于,所述基礎鏡像確定模塊確定基礎鏡像包括:
確定鏡像中是否包含鏡像運行所需的全部依賴項;
將包含鏡像運行所需的全部依賴項的鏡像作為第一鏡像;
獲取第一鏡像中的鏡像文件的層數;
判斷所述鏡像文件的層數是否超過預設閾值;
如果所述鏡像文件的層數沒有超過預設閾值,將鏡像文件的層數沒有超過預設閾值的所述第一鏡像作為基礎鏡像。
8.根據權利要求6所述的Docker鏡像構建裝置,其特征在于,所述差異信息確定模塊確定所述基礎鏡像中的鏡像文件與所述目標鏡像文件的差異信息,包括:
將所述目標鏡像文件掛載入所述臨時容器的目錄中;
獲取所述基礎鏡像中的鏡像文件與所述臨時容器的目錄的映射關系;
在所述臨時容器中,采用遞歸遍歷的方式,計算所述基礎鏡像中的鏡像文件和所述目標鏡像文件的哈希差異,得到差異信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇藝世紀科技有限公司,未經北京奇藝世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910760415.1/1.html,轉載請聲明來源鉆瓜專利網。





