精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

兩個(gè)小技巧提升Docker鏡像構(gòu)建性能,效率翻倍!

云計(jì)算
和大多數(shù)公司一樣,我們?yōu)楫a(chǎn)品中使用的所有組件構(gòu)建Docker鏡像。隨著時(shí)間的推移,其中一些鏡像變得越來越大,同時(shí)持續(xù)集成(CI)構(gòu)建也變得越來越長。我的目標(biāo)是讓CI構(gòu)建時(shí)間不超過5分鐘。

和大多數(shù)公司一樣,我們?yōu)楫a(chǎn)品中使用的所有組件構(gòu)建Docker鏡像。隨著時(shí)間的推移,其中一些鏡像變得越來越大,同時(shí)持續(xù)集成(CI)構(gòu)建也變得越來越長。我的目標(biāo)是讓CI構(gòu)建時(shí)間不超過5分鐘。

生產(chǎn)力下降的原因如下:

  • 開發(fā)人員需要等待構(gòu)建完成,從而浪費(fèi)時(shí)間。
  • 開發(fā)人員開始著手新任務(wù),并需要稍后返回。這需要進(jìn)行更多的上下文切換,通常也會(huì)導(dǎo)致效率低下。

在本文中,我們應(yīng)用了兩個(gè)小的改進(jìn),使得構(gòu)建時(shí)間大幅度提高。在介紹兩個(gè)改進(jìn)之前,首先確保你已經(jīng)遵循了編寫Dockerfile的最佳實(shí)踐,例如:

  • 盡量減少層數(shù)
  • 使用多階段構(gòu)建
  • 使用最小基礎(chǔ)鏡像
  • ……

Buildkit和Buildx

讓我們解釋一下Buildkit和Buildx,因?yàn)檫@兩個(gè)術(shù)語經(jīng)常被互換使用,但它們并不是完全相同的。在撰寫本文之前,我也沒有完全理解兩者之間的區(qū)別。

Buildkit

Buildkit是改進(jìn)后的后端,用于取代傳統(tǒng)的Docker構(gòu)建器。從2018年開始,它與Docker一起打包,并在docker引擎23.0中成為默認(rèn)構(gòu)建器。

Buildkit提供了許多實(shí)用的功能:

  • 緩存能力改進(jìn)
  • 不同層并行構(gòu)建
  • 延遲拉取基礎(chǔ)鏡像(≥ Buildkit 0.9)

使用Buildkit時(shí),你應(yīng)該會(huì)注意到docker build命令的輸出看起來更干凈、更有結(jié)構(gòu)。

在Docker版本低于23.0的情況下,使用Buildkit的典型方法是按照以下方式設(shè)置Buildkit參數(shù):

`--build-arg BUILDKIT_INLINE_CACHE=1`

這將啟用內(nèi)聯(lián)緩存,可以顯著加快構(gòu)建過程。但是,這在Docker版本低于23.0的情況下不可用。

DOCKER_BUILDKIT=1 docker build --platform linux/amd64 . -t someImage:someVersion
DOCKER_BUILDKIT=1 docker push someImage:someVersion

Buildx

Buildx是Docker的一個(gè)插件,它讓你能夠充分利用Buildkit在Docker中的能力。它之所以被創(chuàng)建,是因?yàn)锽uildkit支持許多新的配置選項(xiàng),這些選項(xiàng)無法以向后兼容的方式全部集成到docker build命令中。

除了構(gòu)建鏡像之外,Buildx還支持管理多個(gè)構(gòu)建器。這在持續(xù)集成中非常有用,可以定義范圍明確且具有不同配置的環(huán)境,因?yàn)樗鼈儾粫?huì)修改共享的Docker守護(hù)進(jìn)程。

可以按照以下步驟開始使用Buildx:

docker buildx create --bootstrap --name builder
docker buildx use builder

一、從遠(yuǎn)程緩存中受益

加快構(gòu)建速度的第一個(gè)方法是將鏡像緩存在遠(yuǎn)程注冊(cè)表中。這樣,即使在不同的機(jī)器上執(zhí)行構(gòu)建時(shí)(例如CI中的常見情況),仍然可以從構(gòu)建緩存中受益。大多數(shù)人在構(gòu)建新版本的鏡像之前會(huì)拉取最新版本的鏡像。這樣做的好處是可以緩存未更改的層,但代價(jià)是最初需要拉取完整的鏡像。拉取完整鏡像可能需要一些時(shí)間,而且也不能保證可以重用這些層。使用以下命令進(jìn)行說明:

docker pull someImage:latest || true
docker build --platform linux/amd64 . \
-t someImage:someVersion \
-f Dockerfile \
--cache-from someImage:latest

使用 Buildx,可以將緩存信息存儲(chǔ)在遠(yuǎn)程位置(例如容器注冊(cè)表、blob 存儲(chǔ)等)。構(gòu)建器會(huì)檢查給定的層是否已經(jīng)存在,如果存在,它將重用該層而不是重新創(chuàng)建它。甚至無需將層拉取到本地即可實(shí)現(xiàn)此功能。如下所示:

docker buildx build --platform linux/amd64 . \
-t someImage:someVersion - push \
--cache-to type=registry,ref=someCachedImage:someVersion,mode=max
--cache-from type=registry,ref=someCachedImage:someVersion

模式“max”表示我們將為每個(gè)層存儲(chǔ)構(gòu)建信息,即使這些層在最終的鏡像中未被使用(例如在使用多階段構(gòu)建時(shí))。默認(rèn)情況下,使用模式“min”,它僅存儲(chǔ)關(guān)于最終鏡像中存在的層的構(gòu)建信息。

緩存存在一個(gè)特殊情況是將緩存數(shù)據(jù)“內(nèi)聯(lián)”存儲(chǔ),這意味著它將與鏡像一起緩存。在使用Buildkit沒有使用Buildx時(shí)也支持此選項(xiàng)。但在使用多階段構(gòu)建時(shí)會(huì)更具挑戰(zhàn)性,并且它無法清晰地區(qū)分構(gòu)建產(chǎn)物的輸出和緩存。緩存數(shù)據(jù)“內(nèi)聯(lián)”存儲(chǔ)的命令如下所示:

docker buildx build - platform linux/amd64 . \
-t someImage:someVersion --push \
--cache-to type=inline,mode=max \
--cache-from someImage:somePreviousVersion

二、添加文件到鏡像的新方法

Docker推出了新版本的Dockerfile語法,即#syntax=docker/dockerfile:1.4。它支持COPY和ADD命令的額外鏈接選項(xiàng)。

以前,當(dāng)使用COPY或ADD命令時(shí),構(gòu)建器會(huì)創(chuàng)建一個(gè)新的快照,將新文件與已存在的文件系統(tǒng)合并。結(jié)果是,在執(zhí)行此操作之前,父層都需要存在,不然的話目標(biāo)目錄可能還不存在。最終的鏡像(構(gòu)建命令的結(jié)果)將由每個(gè)層的tarball組成,其中包含相應(yīng)快照之間的差異。

FROM baseImage:version
COPY binary /opt/

使用鏈接選項(xiàng)時(shí),新文件將放入自己的快照中,而不會(huì)依賴于先前的層。鏈接的文件存儲(chǔ)在自己的tarball中,并且不同的tarball相互鏈接在一起,而不會(huì)依賴于現(xiàn)有的文件系統(tǒng),如下圖所示。

# syntax=docker/dockerfile:1.4
FROM baseImage:version
COPY [--chown=<user>:<group>] [--chmod=<perms>] --link binary /opt/

主要的優(yōu)勢(shì)是文件不再依賴于先前的層。只要文件沒有改變,即使父層發(fā)生了更改,該層也可以重復(fù)使用。

并且還可以提高構(gòu)建速度,因?yàn)楝F(xiàn)在可以并行執(zhí)行多個(gè)層復(fù)制數(shù)據(jù)的操作。

結(jié)論

通過上述兩種方式,我們將鏡像構(gòu)建速度提升了 1 倍。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2024-06-11 00:09:00

JavaScript模式變量

2023-10-10 18:24:46

PostgreSQL性能RDBMS

2010-11-22 15:48:40

MySQL修復(fù)表

2019-08-16 02:00:46

AndroidGoogle 移動(dòng)系統(tǒng)

2013-12-18 10:34:42

OpenMP線程

2023-09-25 13:15:50

SQL數(shù)據(jù)庫

2022-07-15 14:54:00

DockerLinux技巧

2025-01-07 10:48:08

2018-02-24 12:08:52

Python開發(fā)技巧

2022-04-29 08:15:40

Python技巧Max

2021-05-11 12:30:21

PyTorch代碼Python

2019-09-12 18:40:51

PHP編程語言

2020-07-08 17:06:00

Python開發(fā)工具

2019-08-13 19:38:24

SQL數(shù)據(jù)索引

2019-07-25 16:28:22

SQL數(shù)據(jù)庫索引

2012-06-13 11:25:23

Windows 8系統(tǒng)技巧

2019-05-16 14:09:03

容器技巧開發(fā)

2019-11-05 14:37:24

Java性能優(yōu)化編程語言

2015-02-05 09:47:52

Web性能Web開發(fā)

2024-10-09 12:18:38

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品国语对白| 亚洲毛片一区二区| 日本一本中文字幕| 涩爱av在线播放一区二区| 日韩福利视频网| 久久精品精品电影网| 欧美性生交xxxxx| 国产综合色区在线观看| 一区二区三区在线免费播放| 欧美亚洲丝袜| 国产手机精品视频| 久久av最新网址| 久久艳片www.17c.com| 国产肉体xxxx裸体784大胆| 欧美黑粗硬大| 欧美性猛交xxxx偷拍洗澡| 一区二区精品在线观看| 色婷婷中文字幕| 久久av中文字幕片| 欧洲午夜精品久久久| 九九这里只有精品视频| 天天躁日日躁狠狠躁欧美| 欧美一级在线观看| 激情内射人妻1区2区3区| 婷婷色在线资源| 国产精品三级视频| 久久国产精品一区二区三区四区 | 99精品视频免费观看| 日韩中文字幕在线精品| 久久久久久亚洲中文字幕无码| 日韩精品免费视频一区二区三区 | 一炮成瘾1v1高h| 亚洲专区一区二区三区| 欧美激情中文网| 性欧美疯狂猛交69hd| 国产一区二区三区四区| 亚洲精品国精品久久99热一| 无码国产精品久久一区免费| 激情久久99| 欧美中文字幕久久| 国产成人a亚洲精v品无码| 999精品网| 亚洲一区二区三区中文字幕在线| 最新欧美日韩亚洲| 一级毛片视频在线| 国产午夜精品美女毛片视频| 久久99精品久久久久久久久久| www黄色网址| 国产毛片精品视频| 91免费视频国产| 国产又色又爽又黄又免费| 日本亚洲三级在线| 国产精品黄页免费高清在线观看| 在线观看免费av片| 午夜亚洲福利在线老司机| 性欧美暴力猛交69hd| 国产亚洲精久久久久久无码77777| 亚洲啊v在线观看| 久久av在线看| 欧美成人片在线观看| 国产香蕉视频在线看| 国产成人在线免费观看| 99超碰麻豆| 国产成人精品毛片| 高清av一区二区| 国产伦理久久久| 亚洲av电影一区| 91蜜桃网址入口| 日本欧美色综合网站免费| 福利成人在线观看| 中文字幕一区二区三区在线播放 | 成人性爱视频在线观看| 国产精品网曝门| 一区二区精品国产| 欧美野外wwwxxx| 婷婷久久综合九色国产成人| 国产最新免费视频| 日本欧美一区| 日韩一级视频免费观看在线| 欧美极品jizzhd欧美仙踪林| 亚洲伊人春色| 色狠狠av一区二区三区香蕉蜜桃| 亚洲人做受高潮| 国产精品xvideos88| 2019av中文字幕| 最近日韩免费视频| 国产精品18久久久久久vr| 国内视频一区二区| av男人的天堂在线| 亚洲国产成人porn| 日韩中文字幕免费在线| 电影一区二区三区久久免费观看| 日韩精品一区二区三区在线观看| 国产精品无码永久免费不卡| 久久中文字幕av一区二区不卡| 久久精品亚洲热| 日韩成人高清视频| 精品亚洲aⅴ乱码一区二区三区| 成人av资源| yourporn在线观看中文站| 亚洲免费观看高清完整版在线观看| 国产av人人夜夜澡人人爽麻豆| 韩国精品主播一区二区在线观看| 91精品国产福利| 欧美成人午夜精品免费| 亚洲有吗中文字幕| 国产成人在线亚洲欧美| 后进极品白嫩翘臀在线视频| 国产三级精品三级在线专区| 日韩小视频网站| 欧美亚洲二区| 日韩成人在线播放| 欧美 日韩 国产 一区二区三区| 久久aⅴ国产紧身牛仔裤| 91麻豆精品秘密入口| 岛国在线视频免费看| 亚洲成人免费观看| 69久久精品无码一区二区 | 致1999电视剧免费观看策驰影院| 国产在线美女| 日韩一区二区三| 一本在线免费视频| 另类av一区二区| 国产精品一区在线播放| 在线观看wwwxxxx| 欧美三级日韩在线| 一级黄色片大全| 日韩一级免费| 国产精品香蕉视屏| av免费在线观看网站| 欧美日韩一区不卡| 在线观看国产精品一区| 国产一区导航| 国产日韩欧美亚洲一区| 天堂8中文在线| 欧美一级理论片| 国产精品69久久久久孕妇欧美| 久久亚洲精品伦理| 久久99精品久久久久久三级 | 亚洲香肠在线观看| 久久久久久久久久久影视| 亚洲成人一区| 91网在线免费观看| 黄网站免费在线观看| 欧美色老头old∨ideo| 亚洲精品91在线| 久久中文欧美| 日本一区视频在线播放| 美女100%一区| 国产一区二区三区视频免费| 波多野结衣高清视频| 国产亚洲精品7777| 9久久婷婷国产综合精品性色| 亚洲大片精品免费| 日韩av免费在线| 福利在线观看| 欧美男男青年gay1069videost | 在线免费观看av网| 亚洲综合激情在线| 国产精品对白一区二区三区| 免费男女羞羞的视频网站在线观看 | 伊人久久久久久久久久久| 国产一区二区视频免费| 国产欧美精品一区二区色综合 | 日本一区二区三区四区五区| 成人性生交大片免费看中文 | 蜜桃av一区二区| 中文字幕99| 日韩精品一级| 97精品久久久中文字幕免费| 免费在线一级视频| 欧美日韩黄色一区二区| 久久久久亚洲av片无码| 国产suv一区二区三区88区| 日本手机在线视频| 国产剧情一区| 91在线观看免费高清完整版在线观看 | 这里只有精品视频| 国产人妖一区二区三区| 亚洲成人动漫精品| 五月婷六月丁香| 国产一区二区成人久久免费影院| 福利视频一区二区三区四区| 欧美激情在线免费| 91九色国产在线| av在线网页| 色婷婷综合久久久久| 亚洲第一大网站| 欧美性xxxx极品hd欧美风情| 欧美一级特黄高清视频| www.亚洲免费av| 国产野外作爱视频播放| 欧美日韩一卡| 青娱乐国产91| 亚洲精品视频一二三区| 国产精品成人av性教育| 色婷婷在线播放| 国产亚洲欧洲高清一区| www.av在线.com| 欧美亚洲国产一卡| 国产一二三四在线| 国产精品全国免费观看高清 | 久久亚洲欧美日韩精品专区| 日本国产在线| 日韩一级黄色片| 久久久999久久久| 亚洲二区视频在线| 国产又粗又猛又爽又黄的视频四季| 国产凹凸在线观看一区二区| 在线观看免费成人av| 亚洲国产激情| 中文网丁香综合网| 国产日产精品一区二区三区四区的观看方式 | 日韩欧美成人一区二区三区| 亚洲欧美另类小说| 无码人妻丰满熟妇啪啪欧美| 成人福利电影精品一区二区在线观看| 亚洲欧美偷拍另类| 三级久久三级久久久| www插插插无码视频网站| 国产精品精品| 亚洲精品高清视频| 免费一区二区| 国产一区高清视频| 国产精品白丝一区二区三区| 亚洲va欧美va国产综合久久| 成人国产在线| 国产精品劲爆视频| 最新中文字幕在线播放| 久久全国免费视频| 久久五月精品中文字幕| 麻豆成人在线看| 欧美一区二区三区在线观看免费| 亚洲久久久久久久久久| 天堂v在线观看| 亚洲精品一线二线三线| 99热这里只有精品9| 777午夜精品视频在线播放| 中国一级特黄视频| 欧美性大战久久| 国产在线一级片| 色国产综合视频| www.色国产| 日本乱人伦一区| 久久永久免费视频| 在线国产亚洲欧美| 无码aⅴ精品一区二区三区| 色爱区综合激月婷婷| 麻豆成人免费视频| 色婷婷狠狠综合| 波多野结衣理论片| 欧美日韩高清在线播放| 在线免费观看av片| 在线成人免费观看| 国产视频在线一区| 精品粉嫩aⅴ一区二区三区四区| 成人久久久精品国产乱码一区二区| 欧美成人一区二区三区在线观看| 国产福利小视频| 精品免费99久久| 五月婷婷六月激情| 亚洲欧美三级在线| www.亚洲视频| 久久香蕉国产线看观看网| sm国产在线调教视频| 欧美日韩国产二区| 波多野结衣精品| 欧美一级视频在线观看| 搜成人激情视频| 成人国产在线视频| 盗摄系列偷拍视频精品tp| 国产综合av一区二区三区| 深爱激情综合| 日韩 欧美 自拍| 136国产福利精品导航网址| 午夜精品久久久内射近拍高清| 日韩精品成人一区二区在线| 亚洲精品永久视频| 成人黄色小视频在线观看| 好吊日免费视频| 中文字幕视频一区二区三区久| 欧美又粗又大又长| 欧美性少妇18aaaa视频| 在线免费一级片| 精品国产91久久久久久久妲己 | 精品国产不卡一区二区| 国产91视觉| 久久最新网址| 日韩亚洲欧美一区二区| 久久精品电影| gogo亚洲国模私拍人体| 久久色视频免费观看| 美女三级黄色片| 精品久久久久久电影| 中文字字幕在线中文乱码| 精品日本一线二线三线不卡| 国产在线视频资源| 欧美黄色成人网| 播放一区二区| 国产乱码一区| 999久久久91| 不卡影院一区二区| 国产成人精品免费在线| 国产熟女一区二区| 婷婷国产在线综合| 性生交生活影碟片| 色yeye香蕉凹凸一区二区av| 欧美亚洲日本精品| 91精品国产99久久久久久红楼| 欧美色爱综合| 777久久久精品一区二区三区| 国产精品一区免费视频| gv天堂gv无码男同在线观看| 亚洲地区一二三色| 国产三区在线播放| 色爱精品视频一区| 日韩免费va| 黄色91av| 一区在线观看| 一起草最新网址| 国产精品激情偷乱一区二区∴| 伊人中文字幕在线观看| 亚洲第一级黄色片| 深夜国产在线播放| 亚洲一区二区在线播放| 久久理论电影| 簧片在线免费看| 久久精品视频免费| 日韩精品手机在线| 欧美成人video| 9191在线播放| 成人国产在线视频| 国产精品久久久久9999赢消| 三级在线视频观看| 国产精品视频看| 国产在线观看第一页| 亚洲一区二区福利| 国产精品扒开腿做爽爽爽视频软件| 国产三区精品| 999亚洲国产精| 久久久老熟女一区二区三区91| 亚洲综合丝袜美腿| 午夜精品一区二区三| 欧美日韩国产va另类| 亚洲一区二区三区日本久久九| 中文字幕の友人北条麻妃| 国产乱人伦偷精品视频不卡| 日韩影院一区二区| 欧美一区二区三区白人| 成人毛片av在线| 国产精品v欧美精品∨日韩| 精品福利电影| 泷泽萝拉在线播放| 日韩欧美综合在线视频| 蜜桃视频在线观看视频| 国产精品成久久久久三级| 欧美a级成人淫片免费看| 国产性生活一级片| √…a在线天堂一区| 国产成人三级一区二区在线观看一| 欧美成人精品在线视频| 91精品国产自产在线丝袜啪| 成人性免费视频| 久久久久亚洲综合| 国产成人自拍偷拍| 久久亚洲综合国产精品99麻豆精品福利 | 91精品国产视频| 真实乱偷全部视频| 午夜精品123| 国产小视频免费在线网址| 国产精品视频一区国模私拍| 亚洲精品电影| 午夜免费福利影院| 91久久线看在观草草青青| 9191在线观看| 国产成人精品免费视频大全最热 | 精品国产九九九| 国内偷自视频区视频综合| 国产日产精品一区二区三区四区的观看方式| 中文字幕在线导航| 亚洲影院理伦片| 国产三级在线| 亚洲已满18点击进入在线看片| 亚洲国产精品第一区二区| youjizz亚洲女人| 日韩欧美精品在线| 亚洲天堂一区二区| 国产精品videossex国产高清| 久久综合久久鬼色中文字| 国产人妻精品一区二区三区| 欧洲成人免费视频| 中文字幕一区二区av| 国产免费看av| 日韩欧美另类在线| av亚洲一区二区三区| 波多野结衣与黑人| 欧美高清在线一区二区| 黄色片一区二区三区| 国产精品网址在线| 一本色道精品久久一区二区三区 |