इस प्रोजेक्ट के बारे में

BuildKit, Moby प्रोजेक्ट द्वारा विकसित एक बिल्ड टूलकिट है जो स्रोत कोड को कुशलता और दोहराव के साथ बिल्ड आर्टिफैक्ट में परिवर्तित करता है। यह `docker build` (Buildx के माध्यम से) के पीछे का इंजन है और एक स्टैंडअलोन डेमन (`buildkitd`) के साथ क्लाइंट CLI (`buildctl`) प्रदान करता है। मुख्य क्षमताओं में समवर्ती निर्भरता समाधान, स्वचालित कचरा संग्रह के साथ निर्देश-स्तरीय कैशिंग, और कई आउटपुट प्रारूपों (OCI इमेज, Docker tarball, स्थानीय निर्देशिकाएँ, containerd इमेज स्टोर) का समर्थन शामिल है। बिल्ड को LLB (Low-Level Build) का उपयोग करके परिभाषित किया जाता है, जो एक बाइनरी इंटरमीडिएट प्रारूप है जो कैश दक्षता और समवर्ती निष्पादन को सक्षम बनाता है। LLB विक्रेता-तटस्थ है, जिससे विभिन्न उच्च-स्तरीय फ्रंटएंड इसे लक्षित कर सकते हैं, जिनमें Dockerfile, Buildpacks, Earthfile (Earthly), Nix, HLB और अन्य शामिल हैं। BuildKit एक डेमन के रूप में चलता है और कई वर्कर बैकएंड (OCI/runc और containerd) का समर्थन करता है। इसे Linux पर मूल रूप से, Windows पर, या Podman, Nerdctl, या Kubernetes के माध्यम से कंटेनरों के भीतर तैनात किया जा सकता है। डेमन systemd सॉकेट सक्रियण, TCP एक्सपोज़र, OpenTelemetry ट्रेसिंग, और रूटलेस निष्पादन का समर्थन करता है। कैश को इनलाइन इमेज मेटाडेटा, रिमोट रजिस्ट्रियों, स्थानीय निर्देशिकाओं, या GitHub Actions कैश में निर्यात किया जा सकता है। इसे Docker, Docker buildx, Tekton Pipelines, Gitpod, Earthly, Dagger, और अन्य CI/CD और कंटेनर टूलिंग प्रोजेक्ट्स द्वारा व्यापक रूप से अपनाया गया है।