docker镜像构建工具kaniko构建过程缓慢原因探究
kaniko的工作方式
1.讀取指定的Dockerfile。
2.將基本映像(在FROM指令中指定)提取到容器文件系統(tǒng)中。
3.在獨(dú)立的Dockerfile中分別運(yùn)行每個(gè)命令。
4.每次運(yùn)行后都會(huì)對(duì)用戶空間文件系統(tǒng)的做快照。
5.每次運(yùn)行時(shí),將快照層附加到基礎(chǔ)層。
kaniko工作原理
kaniko作為一個(gè)容器鏡像運(yùn)行,它接受三個(gè)參數(shù):一個(gè) Dockerfile ,一個(gè)構(gòu)建上下文以及將鏡像推送到的注冊(cè)表。它在執(zhí)行程序鏡像中提取基本鏡像的文件系統(tǒng)。然后,在Dockerfile中執(zhí)行任何命令,快照用戶空間中的文件系統(tǒng)。Kaniko在每個(gè)命令后都會(huì)將一層已更改的文件附加到基本鏡像。最后,執(zhí)行程序?qū)⑿络R像推送到指定的注冊(cè)表。由于Kaniko在執(zhí)行程序鏡像的用戶空間中完全執(zhí)行了這些操作,因此它完全避免了在用戶計(jì)算機(jī)上需要任何特權(quán)訪問(wèn)。
kaniko重復(fù)拉取鏡像問(wèn)題
使用kaniko來(lái)構(gòu)建鏡像,,可以緩存鏡像,但在dockerfile中使用copy等命令時(shí)會(huì)發(fā)生Unpacking rootfs as cmd COPY . . requires it.,每次都要拉鏡像,需要更好的科學(xué)環(huán)境,不然很慢。需要要gcr.io, docker.com, docker.io都使用代理訪問(wèn)。
————————————————
 參考鏈接:
 https://github.com/GoogleContainerTools/kaniko
https://blog.csdn.net/weixin_38320674/article/details/107650424
https://www.bianchengquan.com/article/511721.html
總結(jié)
以上是生活随笔為你收集整理的docker镜像构建工具kaniko构建过程缓慢原因探究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: k8s设置pod privileged权
 - 下一篇: k8s operator开发脚手架kub