[發明專利]一種Docker鏡像更新的方法、系統、設備及存儲介質在審
| 申請號: | 202310273786.3 | 申請日: | 2023-03-20 |
| 公開(公告)號: | CN116301990A | 公開(公告)日: | 2023-06-23 |
| 發明(設計)人: | 黃芳鳳;羅明;黃榮國;趙凱麟;尹大力 | 申請(專利權)人: | 中國—東盟信息港股份有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65 |
| 代理公司: | 廣州海心聯合專利代理事務所(普通合伙) 44295 | 代理人: | 張栩顏;莫秀波 |
| 地址: | 530000 廣西壯*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 docker 更新 方法 系統 設備 存儲 介質 | ||
1.一種Docker鏡像更新的方法,其特征在于,包括以下步驟:
步驟S1.通過Dockerfile編譯得到Docker鏡像A,并推到鏡像倉中;通過Dockerfile編譯得到Docker鏡像B,并推到鏡像倉中;Dockerfile由多條指令組成,包括基礎鏡像、代碼編譯指令、啟動參數;Docker鏡像A與Docker鏡像B有相同的鏡像層,且Docker鏡像B為Docker鏡像A的迭代版本;
步驟S2.將Docker鏡像A和Docker鏡像B導出保存成tar包,tar包中包含各個layer層文件、配置json、manifest.json、repositories;
步驟S3.從tar包中提取生成layer文件,所述layer文件包括Docker鏡像A和Docker鏡像B的差異層文件及原數據文件manifest.json、repositories.json、配置json文件;
步驟S4.將步驟S3中生成的layer文件上傳至私有云服務器,并從私有云服務器中的鏡像倉中拉取Docker鏡像A;
步驟S5.合并Docker鏡像A與步驟S3中生成的layer文件,修改manifest.json中的元數據RepoTags用于修改鏡像tag,并得到新鏡像tar包文件;
步驟S6.加載新鏡像tar包文件,新鏡像tar包文件使用步驟S5中的新的鏡像tag;
步驟S7.將新鏡像tar包文件上傳到鏡像倉庫,完成Docker鏡像更新。
2.根據權利要求1所述的一種Docker鏡像更新的方法,其特征在于,在步驟S3中,具體提取步驟包括:
步驟S31.解析Docker鏡像A和Docker鏡像B的tar包文件,比較元數據文件manifest.json,獲取Docker鏡像A與Docker鏡像B的鏡像差異層,生成差異層文件列表;
步驟S32.將差異層文件、原數據文件manifest.json、repositories.json、配置json文件壓縮成layer文件;
步驟S33.所述layer文件作為補丁文件可以上傳至有Docker鏡像A的服務器中,合并生成新的鏡像tag。
3.根據權利要求1所述的一種Docker鏡像更新的方法,其特征在于,在步驟S5中,具體合并步驟包括:
步驟S51.從鏡像倉庫中拉取Docker鏡像A;
步驟S52.將Docker鏡像A保存導出成tar文件;
步驟S53.通過解析layer壓縮tar包中的原數據文件manifest.json,獲取鏡像層信息;
步驟S54.解析Docker鏡像A的tar包中的鏡像層文件,查找除layer?tar包中包含的鏡像層文件外,layer?tar包中manifest.json的Layers列表中缺少的鏡像層文件是否在Docker鏡像A的tar包中存在,如果不存在則異常退出;
步驟S55.提取manifest.json的Layers列表中的鏡像層文件及原數據文件manifest.json、repositories.json、配置json文件,并合并制作成新鏡像tar包;
步驟S56.修改manifest.json中的元數據RepoTags,用于修改鏡像tag。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國—東盟信息港股份有限公司,未經中國—東盟信息港股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310273786.3/1.html,轉載請聲明來源鉆瓜專利網。





