बहु-चरणीय बिल्ड और छोटे इमेज
बिल्ड टूल को अंतिम रनटाइम से अलग करके न्यूनतम Dockerfile बेस इमेज से हल्के प्रोडक्शन इमेज बनाना सीखें, जिससे इमेज का आकार काफ़ी घटे
बहु-चरणीय बिल्ड और छोटे इमेज, CoddyKit पर Docker और DevOps की बुनियाद का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Docker और DevOps की बुनियाद सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Docker और DevOps की बुनियाद पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
इमेज का आकार क्यों महत्वपूर्ण है
बड़ी इमेज बनाने, पुश करने और पुल करने में धीमी होती हैं और उनका आक्रमण क्षेत्र भी बड़ा होता है। एक अच्छा इंजीनियरिंग लक्ष्य ऐसी सबसे छोटी इमेज भेजना है जिसमें आपका ऐप फिर भी चल सके।
अनावश्यक विस्तार की समस्या
ऐप बनाने के लिए अक्सर कंपाइलर, विकास निर्भरताएँ और निर्माण टूल आवश्यक होते हैं। यदि ये अंतिम इमेज में शामिल हो जाएँ, तो उसका आकार बहुत बढ़ जाता है—भले ही चल रहे ऐप को इनमें से किसी की आवश्यकता न हो।
बहु-चरणीय निर्माण क्या है
बहु-चरणीय निर्माण में एक Dockerfile के अंदर कई FROM कथन होते हैं। शुरुआती चरण ऐप बनाते हैं; अंतिम चरण केवल तैयार आर्टिफ़ैक्ट कॉपी करता है और निर्माण टूल पीछे छूट जाते हैं।
चरण का नाम देना
AS के साथ किसी चरण को नाम दें, ताकि बाद के चरण उसका संदर्भ दे सकें।
FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ciपहले चरण में निर्माण करना
निर्माण चरण आपके ऐप को कंपाइल या बंडल करता है। यहाँ सभी विकास निर्भरताएँ और टूल उपलब्ध होते हैं।
COPY . .
RUN npm run buildहल्का अंतिम चरण
अंतिम चरण को न्यूनतम बेस इमेज से शुरू करें, फिर COPY --from का उपयोग करके केवल वही कॉपी करें जिसकी ऐप को चलने के लिए आवश्यकता है।
FROM node:20-slim
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modulesपूर्ण बहु-चरणीय Dockerfile
चरणों को संयोजित करने पर एक छोटी अंतिम इमेज बनती है, जिसमें बना हुआ ऐप होता है, लेकिन निर्माण टूलचेन का कोई भाग नहीं होता।
FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-slim
WORKDIR /app
COPY --from=builder /app/dist ./dist
CMD ['node', 'dist/main.js']छोटी बेस इमेज चुनना
बेस इमेज अक्सर सबसे बड़ा कारक होती है। Slim और Alpine संस्करण इमेज का आकार काफ़ी कम कर देते हैं:
node:20~ बड़ीnode:20-slim~ काफ़ी छोटीnode:20-alpine~ सबसे छोटी, न्यूनतम लाइब्रेरी के साथ
केवल उत्पादन निर्भरताएँ
रनटाइम इमेज में विकास निर्भरताएँ शामिल न करें। उत्पादन फ़्लैग के साथ इंस्टॉल करने पर परीक्षण और निर्माण पैकेज बाहर रहते हैं।
RUN npm ci --omit=dev.dockerignore का उपयोग करना
.dockerignore फ़ाइल अनावश्यक चीज़ों को निर्माण संदर्भ से बाहर रखती है, जिससे निर्माण तेज़ होता है और गोपनीय जानकारी या बहुत बड़े फ़ोल्डर गलती से कॉपी होने से बचते हैं।
node_modules
.git
.env
Dockerfile
*.logपरिणाम मापना
इमेज के आकार जाँचकर अपने काम की पुष्टि करें। अच्छी तरह बनाई गई बहु-चरणीय इमेज का आकार साधारण एकल-चरणीय इमेज के आकार का एक छोटा अंश हो सकता है।
docker images myappत्वरित जाँच
बहु-चरणीय निर्माण के बारे में अपनी जानकारी का परीक्षण करें।
पुनरावलोकन
आपने हल्की Docker इमेज भेजना सीखा:
- बहु-चरणीय निर्माण एक Dockerfile में कई
FROMचरणों का उपयोग करते हैं - शुरुआती चरण में निर्माण करें, फिर
COPY --fromसे केवल आर्टिफ़ैक्ट को हल्के अंतिम चरण में कॉपी करें - छोटी बेस इमेज चुनें (slim/alpine) और केवल उत्पादन निर्भरताएँ इंस्टॉल करें
- निर्माण संदर्भ को छोटा करने के लिए
.dockerignoreका उपयोग करें
छोटी इमेज तेज़ी से बनती हैं, जल्दी परिनियोजित होती हैं और अधिक सुरक्षित होती हैं।
एआई शिक्षक के साथ Docker और DevOps की बुनियाद सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “बहु-चरणीय बिल्ड और छोटे इमेज” पाठ निःशुल्क है?
हाँ — Docker और DevOps की बुनियाद अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बहु-चरणीय बिल्ड और छोटे इमेज” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Docker और DevOps की बुनियाद पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बहु-चरणीय बिल्ड और छोटे इमेज” में मैं क्या सीखूँगा?
बिल्ड टूल को अंतिम रनटाइम से अलग करके न्यूनतम Dockerfile बेस इमेज से हल्के प्रोडक्शन इमेज बनाना सीखें, जिससे इमेज का आकार काफ़ी घटे आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Docker और DevOps की बुनियाद का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Docker और DevOps की बुनियाद शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Docker और DevOps की बुनियाद शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“बहु-चरणीय बिल्ड और छोटे इमेज” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Docker और DevOps की बुनियाद पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Docker और DevOps की बुनियाद पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Dockerfile को समझना
- कस्टम Docker इमेज बनाना
- इमेज लेयर और अनुकूलन
- बहु-चरणीय बिल्ड और छोटे इमेज