您现在的位置是:热点 >>正文
Docker使用缓存编译 Qt
热点22348人已围观
简介...
Docker 在使用层进行缓存方面做得很好。每个命令(例如,RUN、ADD 等)都会生成一个层,Docker 会在未来的构建中重用该层,除非发生某些变化。与往常一样,这个过程也有例外,但一般来说这是正确的。另一种类型的缓存是针对容器内的特定操作(例如编译源代码Do)进行缓存。
在 Screenly,我们在 Docker 容器内创建了一个 Qt 构建环境。我们创建此 Qt 构建是为了确保构建过程可重现并易于在开发人员之间共享。由于 Qt 编译过程需要很长时间,我们利用ccache来加速我们的 Qt 编译。实施 ccache 需要从 Docker 环境外ck部卷安装文件夹。
如果您是该项目的唯一开发人员,则上述步骤很有效。如果您希望能够在团队中共享缓存,会发生什么情况?
有几种方法可以在 Docker 中实现这种缓存方式。
建立共享缓存的最简单方法是按照我们在上一篇文章中所做的操作。我们使用磁盘缓存以及一些简洁的功能来加速er BuildKit 中的缓存。然后我们压缩缓存文件并将它们分发给团队成员。这个过程不是很优雅,但它完成了工作。
如果我们想进一步自动化该过程,我们可以将检索缓存作为构建过程的一部分。这方面的一个例子可能是这样的:
RUN curl -o /tmp/build-cach使用e.tgz https://some-domain.com/build-cache.tgz && \
tar xfz /tmp/build-cache.tgz -C /tmp && \
rm /tmp/build-cache.tgz
上面的过程很简缓存洁,但这确实意味着有人需要定期上传构建缓存以保持缓存文件最新。此外,您需要在某个地方存储文件(例如 S3)。
如果我们可以避免手动任务并使用原生 Docker 技术来做同样的事情,那就太好了,对吧?事实证明,我们可以使用 Docker 来改进流程。我们只需要发挥我们的想编译象力。
正如我们在上一篇文章中展示的那样,我们可以使用多阶段构建在不同的 docker 镜像之间复制数据。如果我们将缓存移动到专用的 Docker 映像会怎样?然后我们可以将这个镜像推送到 Docker Hub 并将其拉入构建过程。
这个过程很简单。首先在 Docker Hub Q 中创建两个不同的图像。打电话给他们screenly/build-cache和screenly/build-env。在上一篇文章的基础上,我们使用这个Dockerfile作为基础screenly/build-env。
在 Dockerfile 中,我们将环境变量设置DoCCACHE_DIR为/src/ccache. 这一步告诉 ccache 缓存驻留在/src/ccache. 在上一篇文章中,该步骤只是将卷装入系统。但是,在这种情况下,我们想要更改此步骤,以便缓存位于 之外/src,因为这用于批量安装代码库,例如/usr/ccachcke.
我们现在可以启动容器:
$ docker run --rm -t \
-v ~/tmp/qt-src:/src \
-v ~/tmp/qt-build:/build \
&ernbsp; -v ~/tmp/ccache:/usr/ccache \
screenly-build-env
完成编译后,您现在可以构建并推送我们的缓存映像。最终的 Dockerfile 将如下所示:
F使用ROM scratch
COPY ccache /ccache
要构建此映像,请使用以下代码:
$ cd ~/tmp
$ docker build \
-f /path/to/Dockerf缓存ile \
-t screenly/build-cache
$ docker push screenly/build-cache
最后,您现在可以将这一层包含在screenly/bui编译ld-env. 添加行:
COPY --from=screenly/build-cache /ccache /usr/ccache
下次重建screenly/build-env时,Docker 会自动拉下缓存。此外,您只需在刷新缓存时添加卷挂载。
Tags:
相关文章
谷歌Gemini主动式助手更名“每日简报”,深度集成多源数据实现智能推送
热点谷歌旗下人工智能平台Gemini近日被曝出重大功能更新动向。根据最新的APK拆解及行业消息显示,谷歌计划将其研发中的主动式人工智能中心功能正式由“你的一天”(Your Day)更名为“每日简报”(Da...
【热点】
阅读更多标签: 擎天租 SHAREBOT 正大机器人 美格智能
热点云梦级4月29日云梦级消息,29日,擎天租宣布完成Pre-A轮融资,融资金额达数亿元。本轮融资不仅包括正大集团旗下正大机器人、长信股份等产业方,还有美格智能(002881.SZ)、蓝思科技(30043...
【热点】
阅读更多标签: OPPO Find X9 微信15周年 马航MH370
热点Hello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~ 【OPPO Find X9 Ultra 真机曝光】 博主 @搞机王腾霄 1 月 20 日晚分享 OPPO Find X9 Ultra...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.universal-music.co.jp/search/?q=谷歌霸屏外推技术【tg:seogoogle987】,5XQ
- https://www.writingforward.com/?action=SEARCH&s=谷歌霸屏外推技术【tg:seogoogle987】,0lQ
- https://www.mingwai.edu.hk/?langzh-hant&s=谷歌霸屏外推技术【tg:seogoogle987】,1Ke
- https://www.teamlab.art/fr/?submit=谷歌霸屏外推技术【tg:seogoogle987】,T9I
- https://nicolazzi.it/en/?s=谷歌霸屏外推技术【tg:seogoogle987】,u8G
- https://www.skicheck.at/en/?action=CHECK&s=谷歌霸屏外推技术【tg:seogoogle987】,QGM
- https://www.nextavenue.org/?action=QUERY&s=谷歌霸屏外推技术【tg:seogoogle987】,cnw
- https://www.remit.co.jp/pt/?action=CHECK&s=谷歌霸屏外推技术【tg:seogoogle987】,DoC
- https://www.oprny.com/search.php?search_query=谷歌霸屏外推技术【tg:seogoogle987】,J6b
- https://www.synonyms.com/antonyms/谷歌霸屏外推技术【tg:seogoogle987】,OJR
- https://www.youm7.com/Home/Search?allwords=谷歌霸屏外推技术【tg:seogoogle987】,6al
- https://www.goodreads.com/quotes/tag/谷歌霸屏外推技术【tg:seogoogle987】exM
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=谷歌霸屏外推技术【tg:seogoogle987】,L9n
- https://www.polar-tech.com/?action=QUERY&s=谷歌霸屏外推技术【tg:seogoogle987】,RBG
- https://www.whatsonstage.com/search?cat=64&term=谷歌霸屏外推技术【tg:seogoogle987】,bMa
- https://www.sonepar.ch/fr/search?q=谷歌霸屏外推技术【tg:seogoogle987】,Wj9
- https://www.swecobelgium.be/?page=9&s=谷歌霸屏外推技术【tg:seogoogle987】,v6O
- https://www.mesec.cz/vyhledavani/?qs=谷歌霸屏外推技术【tg:seogoogle987】,LzC
- https://www.roberthalf.com/us/en/jobs/all/谷歌霸屏外推技术【tg:seogoogle987】Wol
- https://www.springfieldlibrary.org/library/?s=谷歌霸屏外推技术【tg:seogoogle987】,IwX
- https://www.pixiv.net/tags/谷歌霸屏外推技术【tg:seogoogle987】,qWk
- https://www.kelsa.co.uk/catalogsearch/result/index/?T=1686132119291&q=谷歌霸屏外推技术【tg:seogoogle987】,00c
- https://www.sic-info.org/vi/?s=谷歌霸屏外推技术【tg:seogoogle987】,eno
- https://www.metalmensales.com/?action=QUERY&s=谷歌霸屏外推技术【tg:seogoogle987】,hdT
- https://blvdseafood.com/?s=谷歌霸屏外推技术【tg:seogoogle987】kd0
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌霸屏外推技术【tg:seogoogle987】,6fr
- https://www.schenckprocess.com/search?q=谷歌霸屏外推技术【tg:seogoogle987】,ql7
- https://www.paxnet.co.kr/search/jongmok?kwd=谷歌霸屏外推技术【tg:seogoogle987】m2M
- https://www.vietnamconsulate-sf.org/?action=CHECK&s=谷歌霸屏外推技术【tg:seogoogle987】,ISD
- https://www.remit.co.jp/id/?s=谷歌霸屏外推技术【tg:seogoogle987】,j7W
- https://www.mygrandma.com/Items.aspx?search=谷歌霸屏外推技术【tg:seogoogle987】,OUo
- https://www.lyrics.com/lyrics/谷歌霸屏外推技术【tg:seogoogle987】,Km4
- https://www.voices.com/talents/search?keywords=谷歌霸屏外推技术【tg:seogoogle987】,usr
- https://www.livehindustan.com/tags/谷歌霸屏外推技术【tg:seogoogle987】,4EZ
- https://www.routesonline.com/search/?query=谷歌霸屏外推技术【tg:seogoogle987】,6fb
- https://www.supersauna.de/catalogsearch/result/?q=谷歌霸屏外推技术【tg:seogoogle987】,hxr
- https://www.smarty.net/search?q=谷歌霸屏外推技术【tg:seogoogle987】,Jex
- https://www.samen-maier.at/search/谷歌霸屏外推技术【tg:seogoogle987】,Z9y
- https://www.pinkpanda.ro/magazin/ingrijirea-tenului?page=87&q=谷歌霸屏外推技术【tg:seogoogle987】,9RY
- https://www.openstreetmap.org/search?query=谷歌霸屏外推技术【tg:seogoogle987】,ra3
- https://www.temu.com/search_result.html?search_key=谷歌霸屏外推技术【tg:seogoogle987】3rn
- https://www2.ual.es/ProyectoLates/?s=谷歌霸屏外推技术【tg:seogoogle987】,qe0
- https://www.teamlab.art/es/?submit=谷歌霸屏外推技术【tg:seogoogle987】,AA7
- https://www.flickr.com/photos/tags/谷歌霸屏外推技术【tg:seogoogle987】hmr
- https://www.stonerealestate.com.au/?cat=100&s=谷歌霸屏外推技术【tg:seogoogle987】,Hj3
- https://www.ushmm.org/search/results/?ID=8s0587Oi8UTv74zPPM4fuhwjNpe2hsEE&q=谷歌霸屏外推技术【tg:seogoogle987】,jOo
- https://www.revere.org/search?action=SEARCH&q=谷歌霸屏外推技术【tg:seogoogle987】,aqg
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=谷歌霸屏外推技术【tg:seogoogle987】,imT
- https://www.olx.ba/pretraga?trazilica=谷歌霸屏外推技术【tg:seogoogle987】,yMa
- https://www.mdbg.net/chinese/dictionary?page=worddict&wdrst=0&wdqb=谷歌霸屏外推技术【tg:seogoogle987】,ev1