KubakaKit: Docker Yihishe Amabuye ashobora kubaka hafi ya byose
Ibitekerezo
Mewayz Team
Editorial Team
KubakaKit: Docker Yihishe Amabuye ashobora kubaka hafi ya byose
Abashinzwe iterambere benshi bazi Docker nkigihe cya kontineri yahinduye uburyo software yoherejwe. Bake cyane bazi ibijyanye na moteri yicecekeye munsi yubuso bwa buri gihe cyubaka Docker - BuildKit, sisitemu yo kubaka ibisekuruza bizaza yoherejwe na Docker kuva verisiyo ya 18.09 hanyuma ihinduka inyuma muri Docker 23.0. Mugihe abajenjeri batongana bidasubirwaho kuboneza Kubernetes nuburyo bwa microservice, BuildKit yagiye ihindagurika muri imwe muri sisitemu ikomeye, yoroheje yo kubaka muri ecosystem ya DevOps. Niba warigeze kubifata nkibyihuta docker kubaka , urasiga ubushobozi bukomeye kumeza. Ibigo bikoresha imiyoboro myinshi ya CI / CD byagabanije kubaka inshuro 50-70% byumvikane gusa kubyo BuildKit itanga - kandi niyo ntangiriro.
Niki gituma BuildKit itandukana cyane nubwubatsi bwa kera
Umwimerere wa Docker yubaka moteri yakoresheje amabwiriza ya Dockerfile ikurikiranye, igipande kimwe icyarimwe, nta kumenya umurimo ushobora kubaho neza murwego rumwe. BuildKit isimbuza iyo moderi ikora kumurongo hamwe nigishushanyo mbonera cya acyclic (DAG) - igishushanyo mbonera cyunvikana cyunvikana cyubaka intambwe zishingiye kuri mugenzi wawe kandi utabikora. Ibyiciro byigenga bikora icyarimwe, ibyiciro bidakoreshwa birasimbuka burundu, kandi ibyubatswe byose bihinduka ibisobanuro byerekana ibyo ushaka aho kuba itegeko ryintambwe ugomba gusoma muburyo bukwiye.
Ihinduka ryubwubatsi rifite ingaruka zifatika zirenze umuvuduko. Iyo ibyiciro byinshi Dockerfile ikusanya Go binary murwego rumwe, ikuramo Node.js biterwa nundi, hanyuma igateranya ishusho yumusaruro mugice cya gatatu, BuildKit irashobora gukora ibyiciro bibiri byambere icyarimwe. Inyubako yabanje gufata iminota ine kuri CI yiruka ikomeye none irarangira mumasegonda mirongo cyenda. Stripe, Guhindura, hamwe nandi matsinda yandi matsinda manini yubuhanga bwanditse yanditse inyungu zunguka mubikoresho byabo byimbere. Moderi ya DAG isobanura kandi ko BuildKit ishobora kubyara metadata yuzuye - umusingi wibintu nka attestations zerekana na fagitire ya software y'ibikoresho (SBOM) bifite akamaro kanini kubwumutekano wo gutanga amasoko.
Hariho kandi ihinduka ryuburyo uburyo cache itemewe. Umwubatsi wa kera yatesheje agaciro buri cyiciro munsi yamabwiriza yose yahinduwe. BuildKit ikurikirana ibirimo kuri buri cyinjijwe, bityo guhindura igitekerezo muri Dockerfile ntabwo bihindura cache yinjira byerekana iminota mirongo itatu yo gukusanya. Iyo cache yawe yubaka ari itandukaniro riri hagati yiminota itanu niminota mirongo ine yo gusubiza itsinda ryanyu ryubuhanga, ibi bisobanuro bifite akamaro kanini kurenza uko bigaragara.
Multi-Platform Yubaka: Itegeko rimwe, Ubwubatsi bwose
KubakaKit --platform ibendera hamwe no guhuza QEMU bihindura icyahoze ari ikibazo kibabaza sisitemu nyinshi kibabaza itegeko rimwe. Gukoresha docker buildx kubaka --platform linux / amd64, linux / arm64, linux / arm / v7. Ubu bushobozi bwabaye ingirakamaro mugihe inganda zigenda zerekeza kuri ARM - Ingero za AWS Graviton3 zihora zitanga 40% nziza-igiciro cyiza kumurimo wakazi nko gutanga urubuga no gutunganya amakuru, kandi Apple Silicon yagize ARM imashini yambere yiterambere rya miriyoni za injeniyeri.
Mbere yubufasha bwa platform-platform nyinshi ikuze, kubungabunga imiyoboro itandukanye yo kubaka inyubako zitandukanye byari ikigo cyukuri. Amakipe yaba yarakomeje Dockerfiles nyinshi, akoresha imiyoboro itandukanye ya CI kubiruka byubatswe muburyo butandukanye, cyangwa yohereje amashusho x86 ahantu hose kandi yishyura ibihano kubikorwa remezo bya ARM. Hamwe na BuildKit, usobanura inyubako yawe rimwe hanyuma ureke sisitemu ikore ubwubatsi-bwihariye bwo gukusanya neza. Imishinga ya Rust isaba kwambukiranya, Genda imishinga hamwe na CGO iterwa, Python yamapaki hamwe na C yaguye - BuildKit ikora urwego rwo kwigana bitagusaba gusobanukirwa amakuru arambuye kuri buri rubuga.
Agaciro keza k'ubucuruzi hano karapimwa. Itsinda rikoresha kontineri 200 kuri AWS Graviton kuri $ 0.04 kumasaha ya vCPU ugereranije na x86 ingana na $ 0.056 kumasaha ya vCPU bizigama amadorari 11.520 buri mwaka kuri 100 vCPUs - gusa guhitamo guhitamo neza. Gutuma iryo hitamo ryagerwaho nta mbaraga zongeye gukora nubwoko bwibikorwa remezo byishyura ako kanya.
Gucunga ibanga utarinze kwinjira mumashusho
Kimwe mu bintu bidashimwa cyane na BuildKit ni amabanga yayo API. Umwubatsi wa Docker wubatswe ntaburyo yari afite bwo gutambutsa ibyangombwa mubwubatsi adafite ibyangombwa bishobora kurangirira kumurongo. Abashoramari bakoze hafi yibi byiciro byinshi byubaka, ARG amabwiriza, hamwe no gutumiza neza - ariko ibyago byo gutungurwa kubwimpanuka urufunguzo rwa API cyangwa urufunguzo rwa SSH rwigenga mumashusho yoherejwe byakomeje kuba hejuru cyane. Scaneri yumutekano isanzwe isanga ibyangombwa byanditse mumashusho ya kontineri yatangajwe mubitabo rusange, kandi ibyinshi muribyo bisohoka bigaruka kumurongo wibanga mugihe cyo kubaka.
Ibendera rya RUN ayikeneye kandi ntanarimwe akora kumurongo wamashusho. Amabwiriza ya Dockerfile nka RUN --mount = ubwoko = ibanga, id = npmrc injangwe / kwiruka / amabanga / npmrc> ~ / .npmrc && npm kwishyiriraho itanga inzira yo kubaka ibyangombwa byihariye bya npm nta byangombwa byigeze bigaragara mumashusho yanyuma cyangwa murwego urwo arirwo rwose. Igishushanyo kimwe gikora ibyangombwa bya PyPI, Igenamiterere rya Maven, urufunguzo rwa SSH kububiko bwite bwa Git, nibindi bikoresho byoroshye inzira yawe yo kubaka isaba.
Cache yohereza hanze: Gukora imiyoboro ya CI mubyukuri byihuse
Imiyoboro ya CI niho kubaka ibikorwa byingenzi kandi aho Docker isanzwe yubaka amateka yarababaje cyane. Abiruka bashya ba CI mubisanzwe batangirana na cashe yubusa, bivuze ko imiyoboro yose ikora isubiramo ibintu byose uhereye kubitangira. Kuri serivisi ya Java hamwe na magana ya Maven biterwa, umushinga wa Rust, cyangwa porogaramu ya Python hamwe niyaguka riremereye kavukire, ibi bivuze kubaka ibihe byapimwe muminota mirongo aho kuba amasegonda. Igiciro cyubucuruzi cya CI gahoro ni kinini - kugabanya inshuro zo kohereza, umwanya muremure wo gutanga ibitekerezo, hamwe naba injeniyeri bicaye ubusa bategereje ko imiyoboro irangira mbere yuko bahuza bagakomeza.
Ubwubatsi bwa cache yohereza ibicuruzwa bikemura ibi hamwe na cache yoherezwa hanze. Ukoresheje --cache-to type = kwiyandikisha, ref = myregistry / myapp: cache na --cache-kuva mubwoko = kwiyandikisha, ref = myregistry / myapp: cache , BuildKit isunika cache ishusho irambuye kuri rejisitiri nyuma yubaka hanyuma ikayikurura mugitangira gikurikira. Ubwihisho burimo ibirimo, kubwibyo byahinduwe mubyukuri byongeye kugarurwa. Amakipe akoresha ubu buryo mubikorwa bya GitHub, GitLab CI, na CircleCI basanzwe bagabanya imiyoboro kuva muminota cumi n'itanu kugeza munsi ya itatu kumirongo ikurikira. GitHub yonyine ibyangombwa kuri Docker yateye imbere yubaka akazi irashimangira cyane iyi shusho kubwiyi mpamvu.
Ubwubatsi bwihuse nubundi utagomba kongera gukora.
Cache yohereza hanze nayo ihuza neza hamwe niterambere rishingiye kumashami. Urashobora gushiraho umuyoboro wawe wa CI kugirango ugaruke uva mumashami yihariye ya cache kugeza kuri cache nkuru yingenzi mugihe nta cache ishami rihari, bivuze ko amashami mashya ahita yungukira kuri cache ishyushye yakusanyirijwe kumurongo wingenzi witerambere. Ba injeniyeri babona ibitekerezo byihuse kubyo biyemeje bwa mbere ku ishami rishya aho gutegereza ibihano bikonje-gutangira.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Kubaka Imbere: Kubaka Hejuru ya Dockerfiles
Ahari ubushobozi buke buzwi bwa BuildKit nuko Dockerfiles ari uburyo bumwe bushoboka bwo kwinjiza - ntabwo aribwo bwonyine. BuildKit ifite ibyuma byimbere byubaka byemerera rwose kubaka ibisobanuro byindimi nimiterere. Imbere igaragazwa nubuyobozi bwa # syntax = hejuru ya dosiye yawe yubaka, ibwira BuildKit gushushanya ishusho yimbere hanyuma ukayikoresha mugusuzuma no gukora dosiye zisigaye.
Ubu bwubatsi bwatumye imishinga myinshi ikomeye. Kwishyira hamwe kwa Buildpacks kwemerera BuildKit kubaka amashusho ya kontineri kuva kode yinkomoko ya progaramu nta Dockerfile iyo ari yo yose - itahura ururimi, igahitamo amashusho shingiro ikwiye, kandi igateranya ibikoresho byateguwe mu buryo bwikora. HPC hamwe na societe yubumenyi bwa siyanse bakoresheje imiterere yihariye kugirango basobanure ibyubatswe mu ndimi zihariye zegeranya kugeza kuri BuildKit imbere LLB (Inyubako yo hasi). docker / dockerfile: laboratoire syntax yambere imbere yubushakashatsi hamwe nibintu nkubufasha bwa heredoc, --network kugenzura kuri buri nyigisho, hamwe na cache yerekana mbere yuko bigwa mumasomo ahamye ya Dockerfile.
Ubushobozi bwo gusobanura imbere yawe bisobanura kandi amashyirahamwe afite ibyangombwa byubaka bidasanzwe ntabwo agomba guhitamo hagati y "inkweto zose muri syntax ya Dockerfile" na "kureka kontineri burundu." Itsinda ryubaka porogaramu ya FPGA, amashusho ya sisitemu yashyizwemo, cyangwa ibikoresho byabigenewe bya ML byihariye birashobora gusobanura imyubakire yabo mu magambo yumvikana kuri domaine yabo mugihe ikomeje gukora amashusho asanzwe ya OCI yubahiriza ibikoresho aho ariho hose bikorera. Uku kwaguka ninyungu nyayo yububiko kuruta sisitemu yo kubaka ifata imiterere yinjiza nkuko byagenwe.
Provenance na SBOM: Kubaka Isi Yinyuma ya SolarWinds
Umutekano wo gutanga porogaramu wavuye mu mpungenge zishingiye ku nyigisho z’ibanze nyuma y’uko SolarWinds itubahirije amategeko mu 2020 ndetse n’intege nke za Log4Shell mu 2021. Ibyemezo bya BuildKit byerekana ibimenyetso bya SBOM nibisubizo bitaziguye kuriyi miterere yumutekano.
> Izi mpamyabumenyi zikurikiza urwego rwa SLSA (Urwego-rwo gutanga urwego rwibikoresho bya software) hamwe nuburyo bwo kwerekana ibyemezo, bigatuma imashini igenzurwa na moteri ya politiki nka Cosign ya Sigstore na OPA (Gufungura Politiki).Igikorwa gifatika cyakazi gishobora gutuma gisa nkiki:
- Umushinga asunika kode; Umuyoboro wa CI utera kubaka kubaka hamwe nibikorwa byemewe.
- BuildKit itanga SBOM yashyizweho umukono urutonde rwibigize byose hamwe na verisiyo.
- SBOM yasohotse mubitabo byabigenewe kuruhande rwishusho igaragara.
- Abagenzuzi binjira muri cluster ya Kubernetes bagenzura ibimenyetso mbere yo kwemerera koherezwa.
- Gusikana intege nke zibaza SBOM kugirango umenye amashusho yagize ingaruka mugihe CVE nshya zamenyekanye.
Amakipe ashyira mubikorwa uyu muyoboro wuzuye arashobora gusubiza ibibazo byugarije intege nke mumasaha aho kuba iminsi, kuko bifite ikarita isobanutse, isomeka imashini ya buri kintu muri buri kintu gikora. Kubucuruzi nka Mewayz bwinjiza cyane mubikorwa byabakiriya - gukora umushahara, gucunga amakuru yimodoka, gutunganya inyemezabuguzi - ubushobozi bwo kwerekana urwego rukomeye, rugenzurwa biragenda bisabwa mubiganiro byo kugurisha ibigo, ntabwo ari byiza-kugira.
Gutangira: Kuva Mubisanzwe Byubaka kugeza Imiyoboro Ihanitse
BuildKit isanzwe ikora mubidukikije bya Docker niba ukoresha verisiyo iheruka - Docker 23.0 hanyuma ikabishobora kubisanzwe. Intambwe yambere ifatika kumakipe menshi ni ugushoboza plugin ya Docker Buildx, igaragaza imiterere yuzuye ya BuildKit yashyizweho binyuze muri docker buildx subcommand. Gukoresha docker buildx kurema --gukoresha shiraho kubaka BuildKit urugero hamwe nubushobozi burenze umushoferi usanzwe. Kuva aho, kwiyongera kwimikorere yibintu byumvikana birumvikana aho kugerageza gufata icyarimwe icyarimwe.
Inzira yemewe yo kwishyiriraho itsinda ririmo gukora docker kubaka ubutumire busa nkukongeramo cache yohereza muri CI mbere - ibi bitanga byihuse, byihuta byihuta byiterambere hamwe nimpinduka ntoya. Multi-platform yubaka iba iyagaciro mugihe itsinda ritangiye kwibasira ibikorwa remezo bya ARM. Kwishyiriraho ibanga birakwiye gufata umwanya uwariwo wose wanditse wanditse cyangwa urufunguzo rwa SSH rugaragara murwego rwo kubaka. Icyemezo cya Provenance kirumvikana kugirango ushoboze mugihe ibisabwa byubahirizwa cyangwa ibyifuzo byabakiriya bisaba gukora urwego rwamasoko bikenewe.
Isomo ryimbitse rya BuildKit ryerekeye kubaka nkana. Waba urimo kohereza kontineri ya microservice, imashini yiga imashini yanyuma, cyangwa urubuga rugoye nka suite ya Mewayz ya modul 207 yubucuruzi, inzira yo kubaka ntabwo ari umuhigo wihutira munzira yoherejwe - ni ibihangano byubwubatsi byerekana ubwiza, igihagararo cyumutekano, hamwe nibikorwa bikuze mubintu byose biva hanze yacyo. BuildKit iguha ibikoresho byo gukora ibyo bihangano byiza. Ikibazo nukumenya niba ufata umwanya wo kubikoresha.
Ibibazo bikunze kubazwa
BuildKit ni iki kandi itandukaniye he na sisitemu ya kera ya Docker yubaka?
BuildKit ni moteri ya Docker izakurikiraho yubaka moteri, yatangijwe muri Docker 18.09 kandi ikora idasanzwe muri Docker 23.0. Bitandukanye nubwubatsi busanzwe, BuildKit ishyigikira ibikorwa bisa nkibikorwa, ingamba zihamye zo gufata neza, amabanga azamuka, hamwe na cross-platform yubaka. Ifata inzira yo kubaka nkigishushanyo mbonera cya acyclic (DAG), igufasha gukemura neza ubwenge kandi byihuse byubaka ibihe bigoye, ibyiciro byinshi bya Dockerfiles.
Nkeneye gushiraho ikindi kintu cyose kugirango ntangire nkoreshe BuildKit hamwe na Docker?
Nta yandi mashanyarazi asabwa niba ukoresha Docker 23.0 cyangwa nyuma - BuildKit ishoboye kubwa mbere. Kuri verisiyo ishaje, urashobora kuyikora mugushiraho ibidukikije bihinduka DOCKER_BUILDKIT = 1 mbere yo gukoresha amategeko yawe yo kubaka. Kuburyo bwo gukoresha imikoreshereze yimbere nka kure yubaka cashe cyangwa ibyubatswe byinshi byubaka, urashobora gushaka gushiraho urugero rwubaka rwubatswe ukoresheje docker buildx kurema .
Ese BuildKit irashobora gukoreshwa mugukora ibihangano birenze amashusho asanzwe?
Yego, kandi ubu ni bumwe mubushobozi bwa BuildKit budashimwa cyane. Ukoresheje ibice byabigenewe hamwe na --ibisohoka ibendera, BuildKit irashobora kubyara binary mbisi, tarball, imbuga za static, nibindi bikoresho bya dosiye uko bishakiye - ntabwo ari amashusho ya OCI gusa. Ibi bituma iba moteri-rusange yubaka moteri ihuza bisanzwe na polyglot monorepos hamwe numuyoboro wa CI utoroshye aho amakipe atandukanye akenera imiterere itandukanye ivuye murwego rumwe.
Nigute BuildKit ihuza na platform ya DevOps yagutse hamwe nibikoresho nka Mewayz?
BuildKit ikora urwego rwo hasi rwubaka, ariko amatsinda yiterambere agezweho nayo akeneye gucunga ibikorwa byubucuruzi, gutanga abakiriya, hamwe nibikorwa. Amahuriro nka Mewayz - OS 207-module yubucuruzi itangirwa $ 19 / mo - yuzuza ibikoresho remezo bitwikiriye uruhande rwibikorwa byubucuruzi bwa software. Guhuza imiyoboro yubaka neza ikoreshwa na BuildKit hamwe na platform-imwe-imwe nka Mewayz iha amakipe umurongo wuzuye kuva kode yubuhanzi kugeza kugemura abakiriya.
Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 30,000+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
The tool that won't let AI say anything it can't cite
Apr 10, 2026
Hacker News
YouTube locked my accounts and I can't cancel my subscription
Apr 10, 2026
Hacker News
CollectWise (YC F24) Is Hiring
Apr 10, 2026
Hacker News
Afrika Bambaataa, hip-hop pioneer, has died
Apr 10, 2026
Hacker News
Installing OpenBSD on the Pomera DM250{,XY?}
Apr 10, 2026
Hacker News
The Raft consensus algorithm explained through "Mean Girls" (2019)
Apr 10, 2026
Ready to take action?
Start your free Mewayz trial today
All-in-one business platform. No credit card required.
Start Free →14-day free trial · No credit card · Cancel anytime