पूर्व-कैश्ड निर्भरता के साथ डॉकर छवियों का कुशलतापूर्वक निर्माण
डॉकर छवियों का निर्माण करते समय, निर्माण समय को कम करना महत्वपूर्ण है। एक रणनीति निर्भरता को कैश करना है। हालाँकि, इसके लिए पहले निर्भरताएँ बनाने की आवश्यकता होती है, जिसमें समय लग सकता है।
क्या go.mod फ़ाइल में सूचीबद्ध कई निर्भरताएँ पहले से बनाने का कोई तरीका है?
उत्तर इसमें निहित है डॉकर के कैशिंग तंत्र का उपयोग करना। सुझाई गई डॉकरफ़ाइल संरचना में एक महत्वपूर्ण कैशिंग परत शामिल है:
FROM scratch COPY --from=build /out/example /
यह चरण मध्यवर्ती बिल्ड चरण से निर्मित निष्पादन योग्य को अंतिम छवि में कॉपी करता है। हालाँकि, मुख्य घटक निर्माण चरण में है:
RUN --mount=type=cache,target=/root/.cache/go-build go build -o /out/example .
यह कमांड डिफ़ॉल्ट गो बिल्ड कैश डायरेक्टरी (/root/.cache/go-build) को माउंट करता है और गो बिल्ड कमांड को निष्पादित करता है। कैश यह सुनिश्चित करता है कि निर्भरताएँ केवल एक बार डाउनलोड और संकलित की जाती हैं, जिससे बाद के निर्माणों के लिए निर्माण समय काफी कम हो जाता है। docker build -t myimage .
इन चरणों का पालन करके, आप go.mod में सभी निर्भरताएं पूर्व-निर्मित कर सकते हैं और अपनी डॉकर छवि निर्माण को सुव्यवस्थित करने के लिए कैशिंग का लाभ उठा सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3