Hacker News

BuildKit: ʻO ka mea huna a Docker hiki ke kūkulu i nā mea āpau

Nā Manaʻo

24 min read Via tuananh.net

Mewayz Team

Editorial Team

Hacker News

BuildKit: ʻO ka mea huna a Docker i hiki ke kūkulu i nā mea āpau

ʻIke ka hapa nui o nā mea hoʻomohala iā Docker ma ke ʻano he manawa holo pahu i hoʻololi i ka lawe ʻia ʻana o ka polokalamu. ʻOi aku ka liʻiliʻi o ka ʻike e pili ana i ka mīkini e haʻalulu mālie ana ma lalo o ka ʻili o kēlā me kēia kūkulu Docker hou - BuildKit, ka ʻōnaehana kūkulu hanauna e hiki mai ana i hoʻouna ʻia me Docker mai ka mana 18.09 a lilo i backend paʻamau ma Docker 23.0. ʻOiai e hoʻopaʻapaʻa mau ana nā ʻenekinia e pili ana i nā hoʻonohonoho Kubernetes a me nā ʻano microservice, ua hoʻololi mau ʻo BuildKit i kekahi o nā ʻōnaehana kūkulu ikaika loa a maʻalahi i ka kaiaola DevOps. Inā ʻoe e mālama iā ia ma ke ʻano he docker build ʻoi aku ka wikiwiki, ke waiho nei ʻoe i ka mana nui ma ka papaʻaina. ʻO nā hui e holo ana i nā paipu CI/CD kiʻekiʻe, ua ʻoki ʻia nā manawa kūkulu ma 50-70% ma ka hoʻomaopopo wale ʻana i ka mea a BuildKit e hāʻawi maoli ai - a ʻo ka hoʻomaka wale nō ia.

He aha ka mea e ʻokoʻa ai ka BuildKit mai ka mea hana maʻamau

Ua hoʻokō ka ʻenekini hana Docker kumu i nā ʻōlelo kuhikuhi Dockerfile, hoʻokahi papa i ka manawa, me ka ʻike ʻole i ka hana e hiki ke hana palekana i ka like. Hoʻololi ʻo BuildKit i kēlā kumu hoʻokō linear me kahi kiʻi acyclic kuhikuhi (DAG) - kahi pakuhi hilinaʻi e hoʻomaopopo ana i ke kūkulu ʻana i nā ʻanuʻu e hilinaʻi kekahi i kekahi a ʻaʻole. Hana ʻia nā ʻanuʻu kūʻokoʻa i ka manawa like, lele ʻia nā pae i hoʻohana ʻole ʻia, a lilo ke kūkulu holoʻokoʻa i wehewehe wehewehe o kāu mea e makemake ai ma mua o ke kaʻina koʻikoʻi o nā ʻanuʻu āu e heluhelu ai ma ke ʻano kūpono.

He hopena koʻikoʻi ko kēia hoʻololi hale kūkulu ʻana ma mua o ka wikiwiki. Ke hōʻuluʻulu ʻo Dockerfile multi-stage i kahi binary Go i ka pae hoʻokahi, hoʻoiho i nā hilinaʻi Node.js i kahi ʻē aʻe, a hoʻohui i kahi kiʻi hana i ke kolu, hiki iā BuildKit ke holo i nā pae mua ʻelua i ka manawa like. ʻO kahi kūkulu i lawe mua ʻia i ʻehā mau minuke ma luna o kahi kukini CI ikaika i kēia manawa i hoʻopau ʻia ma lalo o kanaiwa kekona. Ua kākau ʻo Stripe, Shopify, a me nā helu o nā hui ʻenekinia kiʻekiʻe kiʻekiʻe i nā loaʻa like i kā lākou mau mea hana i loko. ʻO ke kumu hoʻohālike DAG, ʻo ia hoʻi, hiki iā BuildKit ke hoʻopuka i ka metadata kūkulu pololei loa - he kumu no nā hiʻohiʻona e like me nā hōʻike hōʻike hōʻike a me nā polokalamu bill of materials (SBOM) hanauna i mea nui no ka palekana kaulahao lako.

Aia kekahi hoʻololi manaʻo i ke ʻano o ka hana ʻole ʻana o ka cache. Ua hoʻopau ka mea hana maʻamau i kēlā me kēia papa ma lalo o nā ʻōlelo aʻo i hoʻololi ʻia. Mālama ʻo BuildKit i nā hashes ma kēlā me kēia hoʻokomo, no laila ʻo ka hoʻololi ʻana i kahi manaʻo ma kahi Dockerfile ʻaʻole e puhi i kahi komo cache e hōʻike ana i kanakolu mau minuke o ka hōʻuluʻulu ʻana. Ke ʻokoʻa ka ʻokoʻa ma waena o ka ʻelima mau minuke a me ke kanahā mau minuke manaʻo no kāu hui ʻenekinia, ʻoi aku ka nui o kēia pololei ma mua o ka mea i ʻike mua ʻia.

Kūkulu Pahu Nui: Hoʻokahi Kauoha, ʻO kēlā me kēia Architecture

BuildKit --platform hae a me QEMU hoʻohui i hoʻololi i ka mea i ʻeha mua i ka pilikia hoʻohui ʻōnaehana lehulehu i hoʻokahi kauoha. Ke holo nei docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 . hoʻopuka i ʻekolu kiʻi mākaukau hoʻohua i ka like ʻana mai kahi noi hale hoʻokahi. Ua lilo kēia mana i mea koʻikoʻi i ka neʻe ʻana o ka ʻoihana i ka ARM — ʻO nā manawa AWS Graviton3 e hāʻawi mau ana i ka 40% o ka maikaʻi o ke kumukūʻai-hana ma nā hana e like me ka lawelawe pūnaewele a me ka hoʻoili ʻikepili, a ua hoʻolilo ʻo Apple Silicon iā ARM i ka mīkini hoʻomohala paʻamau no nā miliona o nā ʻenekinia.

Ma mua o ka oʻo ʻana o ke kākoʻo multi-platform o BuildKit, ʻo ka mālama ʻana i nā paipu kūkulu kaʻawale no nā hale kiʻi like ʻole he kikowaena kumu kūʻai maoli. Ua mālama ʻia nā hui i nā Dockerfiles he nui, holo kaʻawale CI pipelines ma nā mea holo ʻokoʻa i kūkulu ʻia, a i ʻole hoʻouna wale ʻia nā kiʻi x86 ma nā wahi āpau a uku i ka hoʻopaʻi hana ma ka ʻoihana ARM. Me BuildKit, wehewehe ʻoe i kāu kūkulu ʻana i hoʻokahi manawa a e ʻae i ka ʻōnaehana e mālama pono i ka hoʻopili kikoʻī kikoʻī. ʻO nā papahana Rust e koi ana i ka hui ʻana, Go projects me nā hilinaʻi CGO, nā pūʻolo Python me nā hoʻonui C — Mālama ʻo BuildKit i ka papa hoʻohālike me ka ʻole e koi iā ʻoe e hoʻomaopopo i nā kikoʻī o kēlā me kēia kahua paʻa.

Pono ka waiwai o ka ʻoihana maʻaneʻi. ʻO kahi hui e holo ana i nā pahu 200 ma AWS Graviton mau manawa ma $0.04 no ka vCPU-hola me ka like x86 like ma ka $0.056 no ka vCPU-hola e mālama ai ma kahi o $11,520 i kēlā me kēia makahiki no 100 vCPUs - mai ke koho ʻana i ka hoʻolālā kūpono. ʻO ka loaʻa ʻana o kēlā koho me ka ʻole o ka hoʻoikaika ʻana hou ʻana, ʻo ia ke ʻano o ka hoʻonui ʻana i ka ʻōnaehana e uku koke iā ia iho.

Hoʻokele Huna me ka ʻole e hoʻokahe ʻia i loko o nā ʻāpana kiʻi

ʻO kekahi o nā hiʻohiʻona BuildKit i mahalo ʻole ʻia ʻo kāna API huna. ʻAʻohe ala maʻemaʻe o ka mea hana Docker maʻamau e hāʻawi i nā hōʻoia i loko o kahi hale me ka ʻole o kēlā mau hōʻoia e hoʻopau i kahi papa kiʻi. Ua hana nā mea hoʻomohala a puni kēia me nā ʻano hana he nui, ARG ʻōlelo aʻoaʻo, a me ka hoʻonohonoho pono ʻana - akā ʻoi aku ka maikaʻi o ka hoʻopaʻa ʻana i kahi kī API a i ʻole kī SSH pilikino i kahi kiʻi i hoʻouna ʻia. Loaʻa mau i nā mea nānā palekana i nā palapala hōʻoia paʻa i loko o nā kiʻi pahu i paʻi ʻia i nā papa inoa o ka lehulehu, a ʻo ka nui o ia mau lehelehe e huli pololei ana i ka mālama huna ʻana i ka wā o ke kūkulu ʻana.

BuildKit --secret kau ka hae i ka ʻikepili koʻikoʻi i loko o ka hale kūkulu ma ke ʻano he ala waihona waihona no ka manawa wale nō no ka lōʻihi o ke aʻo kikoʻī RUN e pono ai a ʻaʻole hoʻopā i kekahi papa kiʻi. ʻO kahi ʻōlelo Dockerfile e like me RUN --mount=type=secret,id=npmrc cat /run/secrets/npmrc > ~/.npmrc && npm install hāʻawi i ke kaʻina hana ke komo i nā hōʻoia npm pilikino me ka ʻole o kēlā mau hōʻoia i ʻike ʻia ma ke kiʻi hope a i ʻole kekahi papa waena. Hana ʻia ke ʻano like no nā hōʻoia PyPI, nā hoʻonohonoho Maven, nā kī SSH no nā waihona Git pilikino, a me nā mea koʻikoʻi ʻē aʻe e pono ai kāu kaʻina hana.

No nā hui kūkulu lako polokalamu e pili ana i nā ʻoihana i hoʻoponopono ʻia — nā kahua mālama ola kino, nā huahana fintech, nā polokalamu HR — ʻo ka ʻokoʻa ma waena o "nā hōʻoia i ke kiʻi" a me "ʻaʻole hiki ke loaʻa nā hōʻoia i ke kiʻi" ʻo ia ka ʻokoʻa ma waena o ka hoʻopaʻa ʻana i ka loiloi palekana a me ka hoʻolilo ʻana i ʻekolu pule e hoʻoponopono ai i nā ʻike. ʻO nā paepae e like me Mewayz, ka mea e mana ana i nā hana ʻoihana no nā mea hoʻohana ʻoi aku ma mua o 138,000 ma waena o nā ʻoihana e like me ka uku uku, HR, a me ka hoʻopiʻi ʻana, e hilinaʻi pono i kēia ʻano kūlana palekana i hiki ke hōʻoia ʻia i kā lākou kūkulu ʻana a me ka hoʻolaha ʻana i nā paipu e mālama i ka hilinaʻi e hāʻawi aku nā mea kūʻai i kā lākou ʻikepili koʻikoʻi kālā a me nā limahana.

Ka Hoʻokuʻu ʻana i ka waihona: Hana ʻana i nā paipu CI me ka wikiwiki maoli

ʻO nā paipu CI kahi i hana nui ʻia ai ka hana a kahi i ʻeha loa ai ka ʻike hana Docker paʻamau. Hoʻomaka maʻamau ka poʻe holo CI hou me nā huna huna ʻole, ʻo ia hoʻi kēlā me kēia pipeline holo e hoʻopili hou i nā mea āpau mai ka wā ʻōpala. No kahi lawelawe Java me nā haneli o Maven hilinaʻi, kahi papahana Rust, a i ʻole kahi noi Python me nā hoʻonui nui maoli, ʻo ia ke ʻano o ke kūkulu ʻana i nā manawa i ana ʻia i loko o nā minuke he ʻumi ma mua o kekona. Nui ke kumukūʻai pāʻoihana o ka CI lohi - hoʻemi ʻia ka nui o ka hoʻolaha ʻana, nā puka puka manaʻo lōʻihi, a me nā mea ʻenekinia e noho palaualelo ana e kali ana i nā paipu e hoʻopau ma mua o ka hiki ke hoʻohui a neʻe.

Hoʻoponopono ka hiʻohiʻona hoʻokuʻu huna huna o BuildKit i kēia me nā hōʻike huna hoʻokuʻu. Ke hoʻohana nei i --cache-to type=registry,ref=myregistry/myapp:cache a me --cache-from type=registry,ref=myregistry/myapp:cache, hoʻopuka ʻo BuildKit i kahi kiʻi kikoʻī huna i kahi papa inoa ma hope o kēlā me kēia kūkulu ʻana a huki iā ia i ka hoʻomaka o ka mea aʻe. Hoʻopili ʻia ka cache, no laila e kiʻi hou ʻia nā papa i hoʻololi maoli ʻia. ʻO nā hui e hoʻohana ana i kēia ʻano ma GitHub Actions, GitLab CI, a me CircleCI e ʻoki mau i nā manawa pipeline mai ʻumikumamālima mau minuke a i lalo o ʻekolu ma nā holo ma hope. ʻO nā palapala ponoʻī a GitHub e pili ana i nā kahawai hana Docker kiʻekiʻe e paipai nui i kēia kumu no kēia kumu.

ʻO ke kūkulu wikiwiki loa ka mea āu e holo hou ʻole ai. ʻAʻole ʻo ka ʻōnaehana huna huna a BuildKit i hoʻopaʻa ʻia, ʻaʻole i hoʻolalelale wale i ka kūkulu ʻana - ʻoi aku ka maʻalahi o ka manaʻo holoʻokoʻa o kahi "kūkulu", e hoʻohuli i ka hui hou ʻana i ʻokoʻa ʻokoʻa o ka mea i hoʻololi ʻia.

Hoʻohui maʻemaʻe pū nā mea hoʻopuka pahu pahu me nā kahe hana hoʻomohala ma muli o nā lālā. Hiki iā ʻoe ke hoʻonohonoho i kāu pipeline CI e hāʻule i hope mai kahi huna huna lālā i ka huna huna lālā nui ke loaʻa ʻole kahi cache lālā, ʻo ia hoʻi nā lālā hou e pōmaikaʻi koke mai ka huna huna i hōʻiliʻili ʻia e kāu laina hoʻomohala nui. Loaʻa i nā ʻenekinia nā manaʻo wikiwiki mai kā lākou hana mua loa ma kahi lālā hou ma mua o ka kali ʻana i kahi hoʻopaʻi hoʻomaka anu.

💡 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 →

BuildKit Frontends: Ke kūkulu ʻana ma waho o Dockerfiles

Malia paha ʻo ka mana liʻiliʻi loa o BuildKit ʻo ia ʻo Dockerfiles hoʻokahi wale nō hōʻano hoʻokomo - ʻaʻole hoʻokahi wale nō. Loaʻa i ka BuildKit kahi hoʻolālā hoʻonohonoho mua e hiki ai ke kūkulu maʻamau i nā ʻōlelo wehewehe a me nā ʻano. Hōʻike ʻia ka ʻaoʻao mua e ke kuhikuhi # syntax= ma luna o kāu waihona kūkulu, e ʻōlelo ana iā BuildKit e huki i kekahi kiʻi ʻaoʻao mua a hoʻohana iā ia e hoʻopau a hoʻokō i ke koena o ka faila.

Ua hiki i kēia hoʻolālā hale i kekahi mau papahana koʻikoʻi. ʻO ka hoʻohui pū ʻana o Buildpacks hiki iā BuildKit ke kūkulu i nā kiʻi pahu mai ka code kumu noi me ka ʻole o Dockerfile - ʻike ʻo ia i ka ʻōlelo, koho i nā kiʻi kumu kūpono, a hui pū i kahi pahu mākaukau hana. Ua hoʻohana ʻo HPC a me nā kaiāulu ʻepekema ʻepekema i nā ʻaoʻao maʻamau e wehewehe i nā kūkulu ʻana i nā ʻōlelo kikoʻī kikowaena e hōʻuluʻulu i lalo i ka hōʻike LLB (Low-Level Build) kūloko o BuildKit. ʻO ka docker/dockerfile:labs syntax frontend hoʻokolohua me nā hiʻohiʻona e like me ke kākoʻo heredoc, --network mana no kēlā me kēia aʻo, a me nā ʻōlelo huna huna i hoʻonui ʻia ma mua o ka pae ʻana i ka syntax Dockerfile paʻa.

ʻO ka hiki ke wehewehe i kou ʻaoʻao ponoʻī, ʻo ia hoʻi, ʻaʻole pono e koho nā hui me nā koina kūkulu ʻokoʻa ma waena o "shoehorn mea a pau i loko o Dockerfile syntax" a "haʻalele loa i nā ipu." Hiki i kahi hui e kūkulu ana i ka firmware FPGA, nā kiʻi ʻōnaehana hoʻokomo ʻia, a i ʻole nā ​​pahu hiʻohiʻona ML kūikawā e wehewehe i kā lākou kūkulu ʻana i nā huaʻōlelo i kūpono no kā lākou pūnaewele ʻoiai e hana mau ana i nā kiʻi pahu OCI-compliant maʻamau e kau ana ma nā wahi āpau e holo ana. ʻO kēia ka hoʻonui ʻia ʻana he mea maikaʻi no ka hoʻolālā hale ma mua o ke kūkulu ʻana i nā ʻōnaehana e mālama i kā lākou ʻano hoʻokomo e like me ka paʻa.

Provenance and SBOM: Building for the Post-SolarWinds World

Ua hoʻoneʻe ʻia ka palekana lako lako polokalamu mai ka manaʻo manaʻo i ka pae mua o ka papa ma hope o ka haki ʻana o SolarWinds i 2020 a me ka nāwaliwali o Log4Shell i ka makahiki 2021. ʻO ke Kauoha Hoʻokō 14028 a ke aupuni US no ka cybersecurity, i hoʻopuka ʻia ma Mei 2021, kauoha i ka bila lako polokalamu no nā mea hana federal. ʻO nā hōʻike hōʻoia o BuildKit a me nā hiʻohiʻona hana SBOM he pane pololei i kēia ʻāina hoʻoponopono a palekana.

Me --provenance=ʻoiaʻiʻo a me --sbom=true hae, hana ʻo BuildKit i nā hōʻike hōʻoia i hoʻopaʻa inoa ʻia e wehewehe pono i nā mea i komo i loko o kahi kiʻi pahu - nā kiʻi kumu i hoʻohana ʻia, nā kuhikuhi Dockerfile i hoʻokō ʻia, nā faila kumu i loaʻa, a me nā mea hilinaʻi waho i kiʻi ʻia. Hoʻopili kēia mau hōʻoia i ka SLSA (Supply-chain Levels for Software Artifacts) a me ke ʻano hōʻoia in-toto, e hiki ai ke hōʻoia ʻia e nā mīkini kulekele e like me Sigstore's Cosign a me OPA (Open Policy Agent).

Penei ke ʻano o ke kaʻina hana kūpono:

  1. Hoʻopuka ka mea hoʻomohala i ke code; Hoʻomaka ka paipu CI i kahi kūkulu BuildKit me ka ʻae ʻia.
  2. Hoʻopuka ʻo BuildKit i kahi SBOM i pūlima ʻia me ka papa inoa o nā ʻāpana āpau a me kā lākou mau mana.
  3. Paʻi ʻia ka SBOM i ka waihona waihona ma ka ʻaoʻao o ka hōʻike kiʻi.
  4. E hōʻoia nā mea hoʻoponopono komo ma ka pūʻulu Kubernetes i ka pono ma mua o ka ʻae ʻana i ke kau ʻana.
  5. Nīnau ka poʻe mākaʻikaʻi nāwaliwali i ka SBOM e ʻike i nā kiʻi i hoʻopilikia ʻia ke hōʻike ʻia nā CVE hou.

Hiki i nā hui e hoʻokō nei i kēia pipeline piha ke pane aku i ka hōʻike ʻana i nā nāwaliwali i nā hola ma mua o nā lā, no ka mea, loaʻa iā lākou kahi palapala ʻāina pololei a hiki ke heluhelu ʻia e ka mīkini o kēlā me kēia ʻāpana i kēlā me kēia pahu holo. No nā ʻoihana e like me Mewayz e hoʻopili hohonu ana i nā kaʻina hana o ka poʻe kūʻai aku - ka uku ʻana, ka mālama ʻana i ka ʻikepili o nā ʻauwaʻa, ka hoʻoili ʻana i nā palapala - ʻo ka hiki ke hōʻike i kahi kaulahao lako paʻa a hiki ke nānā ʻia he mea nui ia no nā kamaʻilio kūʻai ʻoihana, ʻaʻole he mea maikaʻi loa.

Hoʻomaka: Mai nā Hana Paʻamau a hiki i nā Pipeline Kiʻekiʻe

Ke holo nei ʻo BuildKit i kāu ʻāina Docker inā ʻoe e hoʻohana nei i kahi mana hou - Docker 23.0 a ma hope e hiki ai iā ia ma ka paʻamau. ʻO ka hana mua no ka hapa nui o nā hui e hiki ai i ka Docker Buildx plugin, e hōʻike ana i ka hiʻohiʻona piha o BuildKit i hoʻonohonoho ʻia ma o ka docker buildx subcommand. ʻO ka holo ʻana docker buildx create --use hoʻonohonoho i kahi mea hana BuildKit me ka ʻoi aku ka mana ma mua o ka mea hoʻokele paʻamau. Mai laila mai, ʻoi aku ka maikaʻi o ka hoʻonui ʻana i nā hiʻohiʻona holomua ma mua o ka hoʻāʻo ʻana e hoʻohana i nā mea āpau i ka manawa hoʻokahi.

He ala hoʻokomo kūpono no kahi hui e hana nei i nā noi kumu docker build me he mea lā e hoʻohui ana i nā hoʻokuʻu cache i ka CI mua - hāʻawi kēia i nā hoʻomaikaʻi wikiwiki a hiki ke ana me ka liʻiliʻi o ka hoʻololi hoʻonohonoho. He mea waiwai nui nā hale hana multi-platform i ka wā e hoʻomaka ai ka hui i ka ʻimi ʻana i ka ʻōnaehana ARM. Pono ka hoʻokomo huna ʻana i kēlā me kēia manawa i ʻike ʻia nā palapala hoʻopaʻa inoa pilikino a i ʻole nā ​​kī SSH i loko o ka pōʻaiapili kūkulu. Maikaʻi nā hōʻike hōʻoia e hiki ai ke hoʻokō i nā koi a i ʻole nā ​​mea kūʻai aku o ka ʻoihana e pono ai ka palapala kaulahao lako.

ʻO ka haʻawina hohonu o BuildKit e pili ana i ke kūkulu ʻana me ka noʻonoʻo. Inā ʻoe e hoʻouna ana i kahi pahu no kahi microservice, kahi mīkini aʻo inference endpoint, a i ʻole kahi kahua paʻakikī e like me Mewayz's suite o 207 mau modula pāʻoihana, ʻo ke kaʻina hana ʻaʻole ia he hana maʻamau āu e holo wikiwiki ai ma ke ala e hoʻolaha ai - he mea hana ʻenekinia ia e hōʻike ana i ka maikaʻi, kūlana palekana, a me ke ʻano o ka hana ʻana o nā mea āpau i waho. Hāʻawi ʻo BuildKit iā ʻoe i nā mea hana e hana maikaʻi ai kēlā artifact. ʻO ka nīnau wale nō inā e lawe ʻoe i ka manawa e hoʻohana ai.

Nīnau pinepine

He aha ka BuildKit a pehea ka ʻokoʻa mai ka ʻōnaehana hana Docker maʻamau?

ʻO BuildKit ka mīkini hana hou a Docker, i hoʻokomo ʻia ma Docker 18.09 a hana i ka paʻamau ma Docker 23.0. ʻAʻole like me ka mea hana maʻamau, kākoʻo ʻo BuildKit i ka hoʻokō ʻana i ka papa hana like, nā hoʻolālā caching kiʻekiʻe, ke kau ʻana o nā mea huna, a me nā kūkulu cross-platform. Mālama ʻo ia i ke kaʻina hana ma ke ʻano he kuhikuhi acyclic graph (DAG), hiki ke hoʻoholo i ka hilinaʻi akamai a me ka wikiwiki loa o ke kūkulu ʻana i nā manawa no ka paʻakikī, multi-stage Dockerfiles.

Pono au e hoʻouka i kekahi mea hou aku e hoʻomaka ai e hoʻohana i BuildKit me Docker?

ʻAʻole koi ʻia kahi hoʻokomo hou inā e holo ana ʻoe iā Docker 23.0 a i ʻole ma hope - ua hoʻohana ʻia ʻo BuildKit ma ka paʻamau. Ma nā mana kahiko, hiki iā ʻoe ke hoʻāla iā ia ma ka hoʻonohonoho ʻana i ka hoʻololi kaiapuni DOCKER_BUILDKIT=1 ma mua o ka holo ʻana i kāu mau kauoha kūkulu. No nā hihia hoʻohana kiʻekiʻe e like me nā hale huna kūkulu mamao a i ʻole nā hale hana multi-platform, makemake paha ʻoe e hoʻonohonoho i kahi mea hoʻolaʻa hana Buildx me ka hoʻohana ʻana i docker buildx create.

Hiki ke hoʻohana ʻia ʻo BuildKit no ke kūkulu ʻana i nā mea kiʻi ma mua o nā kiʻi pahu maʻamau?

ʻAe, a ʻo kēia kekahi o nā mana i mahalo ʻole ʻia e BuildKit. Me ka hoʻohana ʻana i nā ʻaoʻao maʻamau a me ka hae --output, hiki i ka BuildKit ke hana i nā binaries maka, nā tarballs, nā pūnaewele paʻa, a me nā kiʻi faila ʻē aʻe - ʻaʻole nā ​​kiʻi OCI wale nō. ʻO ia ka mea e hana ai i ka mīkini hana maʻamau i kūpono maoli i nā polyglot monorepos a me nā paipu CI paʻakikī kahi e makemake ai nā hui like ʻole i nā ʻano hoʻopuka puka like ʻole mai kahi kaulahao paahana i hui ʻia.

Pehea e komo ai ʻo BuildKit i kahi kahua DevOps ākea me nā mea hana like me Mewayz?

Mālama ʻo BuildKit i ka papa hana haʻahaʻa haʻahaʻa, akā pono nā hui hoʻomohala hou e hoʻokele i nā kahe hana ʻoihana, ka hāʻawi ʻana i nā mea kūʻai aku, a me nā kaʻina hana. ʻO nā paepae e like me Mewayz — he OS pāʻoihana 207-module e hoʻomaka ana ma $19/mo — hoʻopiha i nā mea paahana ma ka uhi ʻana i ka ʻaoʻao hana o nā ʻoihana lako polokalamu. ʻO ka hoʻopaʻa ʻana i nā paipu hana kūpono i hoʻoikaika ʻia e BuildKit me kahi paepae holoʻokoʻa e like me Mewayz e hāʻawi i nā hui i kahi waihona piha mai nā code artifact a hiki i ka hāʻawi ʻana i nā mea kūʻai aku.