इमेज के लिए Dockerfile तैयार करना
अनुप्रयोग के वातावरण और उसकी निर्भरताओं को इमेज में पैकेज करने का तरीका निर्धारित करने वाले Dockerfile लिखना सीखें।
इमेज के लिए Dockerfile तैयार करना, CoddyKit पर डेवलपरों के लिए Docker और Kubernetes का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह डेवलपरों के लिए Docker और Kubernetes सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। डेवलपरों के लिए Docker और Kubernetes पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Dockerfiles क्या होते हैं?
अपनी Docker इमेज बनाना सीखने में आपका स्वागत है! इस प्रक्रिया का केंद्र Dockerfile है।
Dockerfile एक साधारण टेक्स्ट फ़ाइल होती है, जिसमें निर्देशों की एक शृंखला होती है। ये निर्देश Docker को चरण-दर-चरण बताते हैं कि Docker इमेज कैसे बनानी है।
Dockerfile का उपयोग क्यों करें?
Dockerfile इमेज बनाने की प्रक्रिया को स्वचालित करते हैं। पर्यावरण को हाथ से सेट करने के बजाय, आप उसे Dockerfile में एक बार परिभाषित करते हैं।
- पुनरुत्पादकता: यह सुनिश्चित करती है कि सभी लोग बिल्कुल एक जैसी इमेज बनाएँ।
- संस्करण नियंत्रण: Dockerfile को आपके कोड की तरह Git में संग्रहीत किया जा सकता है।
- दक्षता: विकास और परिनियोजन कार्यप्रवाह को तेज़ करती है।
शुरुआत: FROM निर्देश
हर Dockerfile की शुरुआत FROM निर्देश से होनी चाहिए। यह उस आधार इमेज को निर्दिष्ट करता है, जिस पर आपकी इमेज बनाई जाएगी।
इसे अपने कंटेनर के लिए ऑपरेटिंग सिस्टम और प्रारंभिक सॉफ़्टवेयर चुनने जैसा समझें। उदाहरण के लिए, ubuntu:22.04 या node:18-alpine।
FROM node:18-alpineकमांड चलाना: RUN निर्देश
RUN निर्देश इमेज बनाने की प्रक्रिया के दौरान कमांड निष्पादित करता है। यहीं आप सॉफ़्टवेयर इंस्टॉल करते हैं, package अपडेट करते हैं या डायरेक्टरी बनाते हैं।
हर RUN निर्देश आपकी इमेज में एक नई परत बनाता है।
FROM node:18-alpine
RUN apk add --no-cache gitकार्यस्थान सेट करना: WORKDIR
WORKDIR निर्देश इसके बाद आने वाले किसी भी RUN, CMD, ENTRYPOINT, COPY या ADD निर्देश के लिए कार्यशील डायरेक्टरी सेट करता है।
अपने ऐप की फ़ाइलों के लिए एक विशिष्ट डायरेक्टरी सेट करना अच्छी प्रथा है।
FROM node:18-alpine
WORKDIR /appफ़ाइलें जोड़ना: COPY निर्देश
COPY निर्देश आपकी स्थानीय मशीन (अर्थात बिल्ड संदर्भ) से फ़ाइलों या डायरेक्टरी को Docker इमेज के फ़ाइल सिस्टम में कॉपी करता है।
पहला आर्ग्युमेंट आपकी मशीन का स्रोत पथ होता है और दूसरा इमेज के अंदर का गंतव्य पथ।
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./निर्भरताएँ इंस्टॉल करना
अपने प्रोजेक्ट की निर्भरता वाली फ़ाइलों को कॉपी करने के बाद (जैसे Node.js के लिए package.json), आप आमतौर पर उन्हें इंस्टॉल करने के लिए फिर से RUN का उपयोग करेंगे।
यह चरण सुनिश्चित करता है कि आपके ऐप को चलने के लिए आवश्यक सभी चीज़ें उपलब्ध हों।
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .पोर्ट उजागर करना: EXPOSE निर्देश
EXPOSE निर्देश Docker को बताता है कि रनटाइम के दौरान कंटेनर निर्दिष्ट नेटवर्क पोर्ट पर सुनता है।
यह उपयोगकर्ताओं के लिए दस्तावेज़ीकरण है, पोर्ट को वास्तव में प्रकाशित करना नहीं। कंटेनर चलाते समय आप पोर्ट प्रकाशित करेंगे।
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000डिफ़ॉल्ट कमांड: CMD निर्देश
CMD निर्देश इमेज से कंटेनर शुरू होने पर निष्पादित किए जाने वाला डिफ़ॉल्ट कमांड प्रदान करता है।
RUN के विपरीत, CMD बिल्ड के दौरान नहीं, बल्कि कंटेनर लॉन्च होने पर चलता है। कंटेनर चलाते समय आप इसे बदल सकते हैं।
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]पूरा Dockerfile उदाहरण
यहाँ Node.js वेब ऐप के लिए एक सरल Dockerfile का पूरा उदाहरण दिया गया है। हर पंक्ति अंतिम इमेज बनाने में योगदान देती है।
# Use an official Node.js runtime as a parent image
FROM node:18-alpine
# Set the working directory in the container
WORKDIR /app
# Copy package.json and package-lock.json to install dependencies
COPY package*.json ./
# Install application dependencies
RUN npm install
# Copy the rest of the application code
COPY . .
# Make port 3000 available to the world outside this container
EXPOSE 3000
# Define the command to run your app
CMD ["npm", "start"]Dockerfile निर्देश की जाँच
कौन-सा Dockerfile निर्देश package इंस्टॉल करने या डायरेक्टरी बनाने जैसे कमांड को इमेज बनाने की प्रक्रिया के दौरान निष्पादित करने के लिए उपयोग किया जाता है?
पुनरावृत्ति: Dockerfile बनाना
आपने Dockerfile बनाने के लिए आवश्यक निर्देश सीख लिए हैं:
FROM: आधार इमेज सेट करता है।RUN: बिल्ड के दौरान कमांड निष्पादित करता है।WORKDIR: कार्यशील डायरेक्टरी सेट करता है।COPY: फ़ाइलों को इमेज में कॉपी करता है।EXPOSE: सुनने वाले पोर्ट घोषित करता है।CMD: कंटेनर शुरू होने पर चलने वाला डिफ़ॉल्ट कमांड सेट करता है।
इनमें निपुण होकर आप अपने ऐप का पर्यावरण सटीक रूप से परिभाषित कर सकते हैं!
एआई शिक्षक के साथ डेवलपरों के लिए Docker और Kubernetes सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “इमेज के लिए Dockerfile तैयार करना” पाठ निःशुल्क है?
हाँ—“इमेज के लिए Dockerfile तैयार करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और डेवलपरों के लिए Docker और Kubernetes पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। डेवलपरों के लिए Docker और Kubernetes पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“इमेज के लिए Dockerfile तैयार करना” में मैं क्या सीखूँगा?
अनुप्रयोग के वातावरण और उसकी निर्भरताओं को इमेज में पैकेज करने का तरीका निर्धारित करने वाले Dockerfile लिखना सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ डेवलपरों के लिए Docker और Kubernetes का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या डेवलपरों के लिए Docker और Kubernetes शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर डेवलपरों के लिए Docker और Kubernetes शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“इमेज के लिए Dockerfile तैयार करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस डेवलपरों के लिए Docker और Kubernetes पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर डेवलपरों के लिए Docker और Kubernetes पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- इमेज के लिए Dockerfile तैयार करना
- कस्टम Docker इमेज बनाना
- Compose के साथ बहु-कंटेनर अनुप्रयोग
- Docker volume से डेटा को स्थायी रखना