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

लाभ: निर्माण का स्वचालन
डॉकरफ़ाइल आपकी विकास कार्यप्रवाह में कई लाभ लाती हैं:
- स्वचालन: अब मैन्युअल चरणों की आवश्यकता नहीं! Docker हर बार इमेज को एकसमान तरीके से बनाता है।
- संस्करण नियंत्रण: डॉकरफ़ाइल कोड होती हैं, इसलिए आप Git का उपयोग करके बदलावों का लेखा रख सकते हैं।
- पुनरुत्पादकता: डॉकरफ़ाइल वाला कोई भी व्यक्ति बिल्कुल वही इमेज बना सकता है।
- पारदर्शिता: आप ठीक-ठीक देख सकते हैं कि इमेज के अंदर क्या है।
डॉकरफ़ाइल की मूल संरचना
डॉकरफ़ाइल निर्देशों की एक सूची होती है, जिन्हें ऊपर से नीचे तक क्रम में चलाया जाता है। हर निर्देश इमेज में एक नई परत बनाता है।
मूल वाक्यविन्यास सरल है:
INSTRUCTION argumentsटिप्पणियाँ # से शुरू होती हैं, ठीक वैसे ही जैसे कई प्रोग्रामिंग भाषाओं में। Docker के निर्देश बड़े-छोटे अक्षरों से स्वतंत्र होते हैं, लेकिन परंपरा के अनुसार उन्हें बड़े अक्षरों में लिखा जाता है।
FROM से आधार इमेज चुनना
हर डॉकरफ़ाइल की शुरुआत FROM निर्देश से होनी चाहिए। यह बताता है कि आपकी नई इमेज किस आधार इमेज पर बनाई जाएगी। इस आधार इमेज में आमतौर पर कोई OS (जैसे Alpine Linux) और कभी-कभी पहले से इंस्टॉल सॉफ़्टवेयर होता है।
इसे अपना शुरुआती बिंदु चुनने जैसा समझिए — एक खाली कैनवास या कुछ मूल रंगों वाला कैनवास।
FROM alpine:latestRUN से कमांड चलाना
RUN निर्देश का उपयोग इमेज बनाने की प्रक्रिया के दौरान कमांड चलाने के लिए किया जाता है। यहीं आप पैकेज इंस्टॉल कर सकते हैं, निर्देशिकाएँ बना सकते हैं या कोड का संकलन कर सकते हैं।
हर RUN कमांड एक नई परत बनाती है, इसलिए && से कमांड को जोड़ने पर इमेज का आकार कम करने में सहायता मिल सकती है।
RUN apk update && apk add gitCMD से डिफ़ॉल्ट कमांड
CMD निर्देश चल रहे कंटेनर के लिए डिफ़ॉल्ट कमांड या तर्क देता है। RUN के विपरीत, CMD कमांड निर्माण के दौरान नहीं, बल्कि कंटेनर शुरू होने पर चलती हैं।
कंटेनर चलाते समय यदि आप कोई कमांड निर्दिष्ट करते हैं (जैसे docker run my-image ls), तो वह कमांड CMD निर्देश को बदल देगी।
CMD ["echo", "Hello from container!"]COPY से फ़ाइलें जोड़ना
COPY निर्देश आपके होस्ट कंप्यूटर (जहाँ आप इमेज बना रहे हैं) से नई फ़ाइलों या निर्देशिकाओं को निर्दिष्ट पथ पर Docker इमेज के फ़ाइल सिस्टम में कॉपी करता है।
आमतौर पर इसे ADD की तुलना में प्राथमिकता दी जाती है, क्योंकि यह अधिक पारदर्शी है और केवल स्थानीय फ़ाइलों को कॉपी करता है।
COPY ./app /usr/src/appकार्य निर्देशिका और पर्यावरण चर
WORKDIR उसके बाद आने वाले किसी भी RUN, CMD, ENTRYPOINT, COPY और ADD निर्देश के लिए कार्य निर्देशिका निर्धारित करता है। इससे आपकी डॉकरफ़ाइल अधिक साफ़-सुथरी रहती है।
ENV पर्यावरण चर निर्धारित करता है। ये चर डॉकरफ़ाइल के बाद आने वाले निर्देशों और चल रहे कंटेनर, दोनों के लिए उपलब्ध होते हैं।
WORKDIR /app
ENV PORT=8080EXPOSE से पोर्ट की जानकारी देना
EXPOSE निर्देश Docker को बताता है कि कंटेनर चलते समय निर्दिष्ट नेटवर्क पोर्ट पर सुनता है। यह वास्तव में पोर्ट को प्रकाशित नहीं करता।
इसे दस्तावेज़ीकरण जैसा समझिए। कंटेनर के बाहर से पोर्ट को वास्तव में सुलभ बनाने के लिए आपको docker run के साथ -p फ़्लैग का उपयोग करना होगा।
EXPOSE 80
EXPOSE 443आपकी पहली सरल डॉकरफ़ाइल
आइए सब कुछ एक साथ जोड़ते हैं! यहाँ एक मूल डॉकरफ़ाइल है, जो Alpine Linux इमेज तैयार करती है, एक पैकेज इंस्टॉल करती है और डिफ़ॉल्ट कमांड निर्धारित करती है।
इसे बनाने के लिए इसे किसी खाली निर्देशिका में Dockerfile नाम से सहेजें, फिर अपने टर्मिनल में docker build -t my-simple-app . चलाएँ।
FROM alpine:latest
LABEL maintainer="CoddyKit"
RUN apk update && apk add --no-cache bash
WORKDIR /app
CMD ["bash", "-c", "echo 'Hello from my custom Alpine image!' && sleep 3600"]डॉकरफ़ाइल निर्देश प्रश्नोत्तरी
अपने ज्ञान की जाँच कीजिए! इनमें से कौन-से निर्देश इमेज निर्माण प्रक्रिया के दौरान चलाए जाते हैं और सीधे इमेज की सामग्री या संरचना में बदलाव करते हैं?
पुनरावलोकन: डॉकरफ़ाइल की आवश्यक बातें
Docker इमेज को समझने की दिशा में आपने एक बड़ा कदम उठाया है! हमने सीखा कि डॉकरफ़ाइल इमेज बनाने के निर्देशों वाली पाठ फ़ाइलें होती हैं और स्वचालन तथा पुनरुत्पादकता जैसे बड़े लाभ देती हैं।
सीखे गए प्रमुख निर्देश:
FROM: आधार इमेज निर्धारित करता है।RUN: निर्माण के दौरान कमांड चलाता है।CMD: चल रहे कंटेनर के लिए डिफ़ॉल्ट कमांड निर्धारित करता है।COPY: होस्ट से इमेज में फ़ाइलें जोड़ता है।WORKDIR,ENV,EXPOSE: इमेज और कंटेनर के परिवेश को कॉन्फ़िगर करते हैं।
एआई शिक्षक के साथ Docker और DevOps की बुनियाद सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “Dockerfile को समझना” पाठ निःशुल्क है?
हाँ — Docker और DevOps की बुनियाद अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Dockerfile को समझना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Docker और DevOps की बुनियाद पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Dockerfile को समझना” में मैं क्या सीखूँगा?
इमेज बनाने का तरीका निर्धारित करने के लिए Dockerfile में प्रयुक्त सिंटैक्स और सामान्य निर्देश सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Docker और DevOps की बुनियाद का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Docker और DevOps की बुनियाद शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Docker और DevOps की बुनियाद शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Dockerfile को समझना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Docker और DevOps की बुनियाद पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Docker और DevOps की बुनियाद पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Dockerfile को समझना
- कस्टम Docker इमेज बनाना
- इमेज लेयर और अनुकूलन
- बहु-चरणीय बिल्ड और छोटे इमेज