精品欧美一区二区三区在线观看 _久久久久国色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)

一区二区中文字幕| 亚洲色图欧美激情| 国外成人性视频| 免费观看一级一片| 电影一区电影二区| 最新热久久免费视频| 国产a一区二区| 亚洲精品国产精品乱码视色| 中文精品电影| 亚洲深夜福利视频| 日批免费观看视频| 欧美极品在线| 精品国产乱码久久久久久天美| 色姑娘综合网| 日韩在线视频免费| 精品一区二区免费| 性欧美长视频免费观看不卡| 呻吟揉丰满对白91乃国产区| 最新精品在线| 欧美日韩高清影院| 黄色免费观看视频网站| 最新黄网在线观看| 欧美韩国日本综合| 蜜桃免费一区二区三区| www.超碰在线.com| 久色婷婷小香蕉久久| 97超碰国产精品女人人人爽| 国产精品久久久精品四季影院| 国产精品三级| 欧美mv日韩mv| 91在线第一页| 久久久久久久性潮| 在线观看免费成人| 妺妺窝人体色www在线小说| 成人午夜在线影视| 国产精品传媒入口麻豆| 日本一区二区三区四区在线观看| 香蕉av一区二区三区| 国产精品一区二区久激情瑜伽| 国产精品久久久久久久久久久久久| 国产在线精品观看| 午夜亚洲福利| 九九九热精品免费视频观看网站| 永久免费看片视频教学| 成人情趣视频网站| 亚洲性无码av在线| 在线观看国产精品一区| 日韩欧美国产大片| 亚洲国产精品人久久电影| 日韩av成人网| 1313精品午夜理伦电影| 欧美一区二区三区思思人| 日本77777| 亚洲精品自拍| 欧美高清dvd| 性chinese极品按摩| 国产精品毛片久久久久久久久久99999999| 日韩欧美中文在线| 成人在线看视频| 中文在线资源| 色激情天天射综合网| 日韩精品一区二区三区不卡| 欧美电影网站| 欧美主播一区二区三区| 手机在线成人免费视频| 日韩黄色三级| 日韩欧美色综合网站| 中文字幕一区二区三区人妻在线视频| 午夜日韩影院| 亚洲激情中文字幕| 国产激情在线免费观看| 欧美日韩伦理| 超碰91人人草人人干| 久久久国产精品黄毛片| 亚洲少妇自拍| 国产精品av电影| 91久久久久久久久久久久| 国产尤物一区二区| 国产精品手机视频| 国产资源在线看| 中文字幕亚洲精品在线观看| 免费网站永久免费观看| 亚洲一区站长工具| 精品1区2区3区| 久久av一区二区三| 亚洲大片精品免费| 色偷偷av亚洲男人的天堂| 91久久国产综合| 亚洲国产一区二区精品专区| 清纯唯美亚洲激情| 一级特黄aa大片| 国产盗摄视频一区二区三区| 精品亚洲欧美日韩| 日本在线视频网| 亚洲韩国精品一区| 欧美精品色婷婷五月综合| 午夜不卡一区| 亚洲成成品网站| 国产欧美小视频| 亚洲小说区图片区| 国产精品久久久久久久久久| 亚洲国产精品二区| 国产日韩欧美a| 成人免费a级片| 88xx成人网| 亚洲аv电影天堂网| 九一在线免费观看| a91a精品视频在线观看| 91精品视频在线免费观看| 亚洲 小说区 图片区 都市| 国产精品福利一区二区三区| 国产美女网站在线观看| 99er精品视频| 亚洲网站在线播放| 日韩少妇裸体做爰视频| 激情五月播播久久久精品| 久久久久久艹| 99在线视频观看| 欧洲av一区二区嗯嗯嗯啊| 污污污www精品国产网站| 图片区亚洲欧美小说区| 日韩免费在线播放| 亚洲aaa在线观看| 亚洲欧美另类在线| 欧美男女交配视频| 精品国产99| 国产91|九色| 欧美在线精品一区二区三区| 亚洲欧美一区二区不卡| 国产喷水theporn| 久久99国产成人小视频| 性欧美xxxx交| 日韩一级免费毛片| 亚洲免费观看在线观看| 午夜精品免费看| 精品视频免费| 国产精品成人一区| 四虎在线免费看| 香蕉成人伊视频在线观看| 9191在线视频| 欧美一区亚洲| 成人性教育视频在线观看| 视频三区在线| 欧美日韩亚洲综合| xxxxx99| 日韩av电影天堂| 婷婷久久五月天| 欧美日韩国产网站| 一区二区三区高清国产| 九九热最新视频| 国产欧美一区二区精品秋霞影院 | 中国成人一区| 亚洲一区二区久久久久久| 八戒八戒神马在线电影| 欧美一区二区三区在线看| 成人免费毛片xxx| 国产精品18久久久久久vr| 久久久久久久9| jazzjazz国产精品久久| 1769国产精品| 黄色视屏网站在线免费观看| 欧美专区在线观看一区| 永久免费未视频| 国产一区二区调教| 成人av在线不卡| 欧美福利在线播放网址导航| 日本久久精品视频| 免费a级毛片在线播放| 91精品国产综合久久久久久漫画 | 狠狠久久亚洲欧美专区| 欧洲美一区二区三区亚洲| 日本不卡一二三区黄网| 国产精品啪啪啪视频| 国内精品免费| 日韩美女在线播放| 黄色在线论坛| 亚洲成人精品久久久| 天天干,天天干| 中文字幕一区不卡| 美女久久久久久久久| 久久精品五月| 四虎永久免费网站| 日韩精品欧美大片| 国产日韩换脸av一区在线观看| 欧美1—12sexvideos| 亚洲欧美资源在线| 国产不卡精品视频| 色哟哟一区二区三区| 午夜精品福利在线视频| www一区二区| 奇米777在线| 三级不卡在线观看| wwwwww欧美| 成人影视亚洲图片在线| 波多野结衣久草一区| 免费成人美女女| 久久久久国产精品一区| av在线免费观看网| 日韩av影片在线观看| 中文字幕人妻精品一区| 午夜精品一区二区三区电影天堂| 欧美另类69xxxx| 99国内精品久久| 精品人妻人人做人人爽夜夜爽| 可以免费看不卡的av网站| av日韩在线看| 青青草成人影院| 久久久久久高清| 亚洲精品午夜| 成人国产精品免费视频| 朝桐光一区二区| 7777精品视频| 欧美四级在线| 另类美女黄大片| 伊人免费在线| 国产一区二区三区丝袜| 亚洲三级黄色片| 精品美女在线观看| 99精品在线视频观看| 91黄色免费版| 久久久精品免费看| 午夜精品福利在线| 免费人成年激情视频在线观看| 国产欧美精品一区二区三区四区| 在线免费观看污视频| 国产成人亚洲精品狼色在线| 在线观看免费不卡av| 日韩精品乱码免费| 国产熟女高潮视频| 性感少妇一区| 国产精品50p| 亚洲黄页一区| 4444亚洲人成无码网在线观看| 亚洲最大黄网| 在线看成人av电影| 日本成人小视频| 日韩中文字幕一区二区| 欧美精品系列| 日韩视频专区| 欧州一区二区| 亚洲精品乱码视频| 成人一区二区| 国产盗摄视频在线观看| 婷婷久久一区| 最新av在线免费观看| 亚洲激情中文| 成人短视频在线观看免费| 亚洲精品午夜av福利久久蜜桃| 中文字幕在线中文字幕日亚韩一区| 色小子综合网| 亚洲免费av网| 欧美精品大片| av无码久久久久久不卡网站| 在线日本成人| 日韩无套无码精品| 免费成人你懂的| 91小视频在线播放| 国产精品亚洲视频| 东京热av一区| 久久久天堂av| 五月天免费网站| 亚洲乱码一区二区三区在线观看| 在线免费观看亚洲视频| 亚洲午夜一区二区| 天堂а√在线中文在线新版| 欧美专区亚洲专区| av一区二区三| 亚洲福利视频免费观看| 欧美拍拍视频| 久久躁日日躁aaaaxxxx| 日本欧美电影在线观看| 538国产精品视频一区二区| 亚洲国产尤物| 国产99午夜精品一区二区三区| 亚洲成aⅴ人片久久青草影院| 日本一区二区三区在线视频| 国产电影一区二区在线观看| 日本a级片在线播放| 久久久国产亚洲精品| 玖玖爱视频在线| 成人av电影在线| 能直接看的av| 亚洲一区二区三区在线看| 国产成人无码av| 日韩一区二区麻豆国产| 水莓100国产免费av在线播放| 中文字幕精品在线视频| 91超碰在线| 91国产美女视频| 欧美性www| 狠狠色综合色区| 天天色综合色| 日批视频在线免费看| 国产在线视频精品一区| 亚洲第一香蕉网| 一区二区三区四区不卡视频| 好吊色在线视频| 精品日韩在线观看| 91在线看片| 57pao国产精品一区| 警花av一区二区三区| 日韩国产在线一区| 99热这里只有精品8| 日韩av影视大全| 国产日产欧产精品推荐色 | 国产精品vip| 992kp快乐看片永久免费网址| 粉嫩一区二区三区在线看| 1024手机在线观看你懂的| 精品久久香蕉国产线看观看gif| 国产精品伦一区二区三区| 亚洲美女动态图120秒| 国产美女情趣调教h一区二区| 成人a免费视频| 一区二区三区韩国免费中文网站| 国产日韩亚洲欧美在线| 老司机免费视频一区二区| 成人手机在线免费视频| 亚洲一区在线观看网站| 国产精品热久久| 中国日韩欧美久久久久久久久| 黄色成人免费网| 国产精品一区而去| 牛牛国产精品| 欧美在线a视频| 亚洲欧洲成人av每日更新| 在线免费看av片| 一区二区三欧美| 日韩性xxx| 欧美日韩亚洲在线| 久久久蜜桃一区二区人| 久久人人妻人人人人妻性色av| 亚洲一区二区精品3399| 亚洲国产精品视频在线| 久久伊人免费视频| 99精品视频在线免费播放| 亚洲成人网上| 美女免费视频一区| 在线观看天堂av| 91精品国产综合久久精品app| 欧美日本高清| 7777精品伊久久久大香线蕉语言 | 国产特级淫片高清视频| 成人午夜电影久久影院| 久久婷婷国产麻豆91| 日韩欧美中文字幕精品| 男人天堂亚洲天堂| 国产精品免费看一区二区三区| 国产主播精品| 国产麻豆剧传媒精品国产av| 婷婷成人综合网| 香蕉视频免费在线看| 欧美一级视频一区二区| 欧洲专线二区三区| 日本成人黄色网| 中文字幕中文字幕一区二区 | 国产成人免费视频精品含羞草妖精| 欧美激情图片小说| 亚洲成人亚洲激情| 亚洲永久av| 亚洲午夜精品久久久中文影院av| 国内精品久久久久影院一蜜桃| 免费人成视频在线| 国产视频综合在线| 免费视频观看成人| 久久观看最新视频| www.激情成人| 亚洲精品成人在线视频| 视频一区视频二区国产精品| 日韩精品一区二区三区中文| 国产欧美日韩网站| 国产午夜亚洲精品午夜鲁丝片| 888奇米影视| 欧美精品久久久久久久免费观看| 亚洲精品国模| 亚洲欧美手机在线| 亚洲va欧美va天堂v国产综合| 暖暖视频在线免费观看| 成人性生交大片免费观看嘿嘿视频| 伊人成人网在线看| 亚洲av毛片基地| 欧美videofree性高清杂交| 深夜成人影院| 97超碰在线视| 国产午夜亚洲精品羞羞网站| 国产成人精品亚洲精品色欲| 欧美最近摘花xxxx摘花| 91精品亚洲| 亚洲国产无码精品| 91精品国产91久久久久久一区二区| 国产啊啊啊视频在线观看| 日韩欧美三级一区二区| 国产黄色成人av| 青青国产在线视频| 欧美激情综合色综合啪啪五月| 欧美裸体在线版观看完整版| 精品人妻在线视频| 91久久精品一区二区三区| 1stkiss在线漫画| 色噜噜狠狠色综合网|