बिल्ड कैशिंग का उपयोग
Docker बिल्ड कैश तंत्र को समझकर और प्रभावी ढंग से उपयोग करके Docker बिल्ड समय बेहतर करें।
बिल्ड कैशिंग का उपयोग, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कैशिंग के साथ तेज़ी से निर्माण करें
Docker इमेज बनाना समय ले सकता है, खासकर जटिल अनुप्रयोगों के लिए। Docker का निर्माण कैश एक स्मार्ट सुविधा है, जो प्रक्रिया को बहुत तेज़ बनाने में मदद करती है!
यह पिछले निर्माणों की परतों का दोबारा उपयोग करके काम करता है, इसलिए Docker को हर बार सब कुछ नए सिरे से बनाने की आवश्यकता नहीं पड़ती।

परत-दर-परत निर्माण
जब आप Dockerfile का उपयोग करके Docker इमेज बनाते हैं, तो Docker प्रत्येक निर्देश को एक-एक पंक्ति करके निष्पादित करता है।
FROM,RUNयाCOPYजैसे प्रत्येक निर्देश से आपकी इमेज में एक नई "परत" बनती है।- अंतिम इमेज बनाने के लिए ये परतें एक-दूसरे के ऊपर रखी जाती हैं।
Docker का कैश जाँच
किसी निर्देश को निष्पादित करने से पहले Docker जाँचता है कि क्या उसने ठीक वही परत पहले बनाई है। यह इनकी तुलना करता है:
- स्वयं निर्देश (जैसे,
RUN apt update)। - कुछ निर्देशों का "संदर्भ" (जैसे,
COPYकिए जा रहे फ़ाइल)।
यदि मेल खाती हुई परत मिल जाती है, तो Docker निर्देश को फिर से चलाने के बजाय उसे कैश से दोबारा उपयोग करता है।
कैश अमान्य करना
कैश उपयोगी है, लेकिन इसका हमेशा उपयोग नहीं होता। यदि Docker किसी निर्देश या उसके संदर्भ में कोई बदलाव पहचानता है, तो उस परत और उसके बाद की सभी परतों का कैश अमान्य हो जाता है।
इसका अर्थ है कि Docker उस बिंदु से आगे फिर से निर्माण करेगा और उससे नीचे की कैश की गई परतों को अनदेखा करेगा।
स्मार्ट निर्देश क्रम
कैश के अधिकतम पुनः उपयोग के लिए, अपने Dockerfile के निर्देशों को पहले उन निर्देशों से व्यवस्थित करें जिनमें बदलाव की संभावना सबसे कम है और अंत में उन निर्देशों को रखें जिनमें बदलाव की संभावना सबसे अधिक है।
- स्थिर निर्भरताएँ पहले: ऐसे सिस्टम पैकेज या अनुप्रयोग निर्भरताएँ इंस्टॉल करें जिनमें कम ही बदलाव होता है।
- अनुप्रयोग कोड अंत में: अपने अनुप्रयोग का स्रोत कोड, जिसमें अक्सर बदलाव होता है, जितना संभव हो उतना अंत में कॉपी करें।
कैश पुनः उपयोग के लिए क्रम
आइए, एक उदाहरण देखते हैं। RUN pip install आदेश को (जिसमें आमतौर पर कम बार बदलाव होता है) COPY . . से पहले रखने पर (जिसमें प्रत्येक कोड अपडेट के साथ बदलाव होता है), Docker निर्भरता वाली परत का दोबारा उपयोग कर सकता है।
मान लीजिए कि requirements.txt में flask और gunicorn हैं, और app.py आपका मुख्य अनुप्रयोग है।
Dockerfile:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app.py .
CMD ["python", "app.py"]यदि केवल app.py में बदलाव होता है, तो Docker केवल अंतिम COPY और CMD परतों का फिर से निर्माण करता है, जिससे समय बचता है!
.dockerignore के साथ चुनिंदा कॉपी
जब आप COPY . . का उपयोग करते हैं, तो Docker बदलावों के लिए निर्माण संदर्भ की हर फ़ाइल की जाँच करता है। छोटी और अप्रासंगिक फ़ाइलें भी (जैसे .git फ़ोल्डर या स्थानीय परीक्षण डेटा) कैश को अमान्य कर सकती हैं।
अपने निर्माण संदर्भ से अनावश्यक फ़ाइलों और निर्देशिकाओं को बाहर रखने के लिए .dockerignore फ़ाइल का उपयोग करें। इससे वे कैश को अमान्य नहीं कर पाएँगी।
.dockerignore का उपयोग
अपने निर्माण संदर्भ के मूल में (अपने Dockerfile के पास) .dockerignore नाम की फ़ाइल रखें।
उदाहरण .dockerignore:
.git
.venv
__pycache__
*.log
node_modulesअब, जब आप COPY . . चलाएँगे, तो Docker इन फ़ाइलों को अनदेखा करेगा, जिससे कैश का अधिक विश्वसनीय पुनः उपयोग होगा!
कैश को कब छोड़ें
कभी-कभी आप यह सुनिश्चित करना चाहते हैं कि सब कुछ नए सिरे से बनाया जाए और कैश का बिल्कुल भी उपयोग न हो। यह त्रुटि-निवारण या निर्भरताओं के बिल्कुल नवीनतम संस्करण सुनिश्चित करने के लिए उपयोगी हो सकता है।
आप अपने निर्माण आदेश में --no-cache फ़्लैग जोड़कर Docker को कैश का उपयोग किए बिना फिर से निर्माण करने के लिए बाध्य कर सकते हैं:
docker build --no-cache -t my-app:latest .कैश अनुकूलन जाँच
आप Node.js अनुप्रयोग के लिए Docker इमेज बना रहे हैं। आपका Dockerfile वर्तमान में ऐसा दिखता है:
FROM node:16-alpine
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]निर्माण कैशिंग के लिए इस Dockerfile को सबसे बेहतर ढंग से अनुकूलित करने वाला बदलाव कौन-सा होगा?
पुनरावलोकन: कैश में महारत हासिल करें!
बहुत अच्छा! आपने तेज़ इमेज निर्माण के लिए Docker के निर्माण कैश का लाभ उठाना सीख लिया है।
- Docker इमेज को परत-दर-परत बनाता है और संभव होने पर कैश की गई परतों का दोबारा उपयोग करता है।
- किसी निर्देश या उसके संदर्भ में बदलाव होने पर उस बिंदु से कैश अमान्य हो जाता है।
- निर्देशों को बदलाव की सबसे कम संभावना से सबसे अधिक संभावना के क्रम में रखकर अनुकूलन करें।
- निर्माण संदर्भ से अप्रासंगिक फ़ाइलों को बाहर रखने के लिए
.dockerignoreका उपयोग करें। - आवश्यकता पड़ने पर नए सिरे से निर्माण करने के लिए
--no-cacheका उपयोग करें।
प्रभावी कैशिंग से विकास चक्र तेज़ होते हैं और परिनियोजन अधिक चुस्त बनते हैं!
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “बिल्ड कैशिंग का उपयोग” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बिल्ड कैशिंग का उपयोग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बिल्ड कैशिंग का उपयोग” में मैं क्या सीखूँगा?
Docker बिल्ड कैश तंत्र को समझकर और प्रभावी ढंग से उपयोग करके Docker बिल्ड समय बेहतर करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“बिल्ड कैशिंग का उपयोग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- दक्षता के लिए बहु-चरणीय बिल्ड
- बिल्ड कैशिंग का उपयोग
- Dockerfile सुरक्षा की सर्वोत्तम प्रक्रियाएँ
- Slim और Distroless बेस से इमेज आकार घटाना