Docker और DevOps की बुनियाद · पाठ

कस्टम Docker इमेज बनाना

एक सरल एप्लिकेशन के लिए अपनी पहली कस्टम Docker इमेज बनाएँ और उसे सही ढंग से टैग व संस्करणित करें।

पाठ 2, कुल 4 में से12 चरण

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

अपनी पहली Docker इमेज बनाएँ

कस्टम इमेज क्यों बनाएँ? इनके द्वारा आप अपने विशिष्ट ऐप, उसकी निर्भरताओं और कॉन्फ़िगरेशन को एक पोर्टेबल इकाई में पैक कर सकते हैं। एकरूपता और आसान परिनियोजन के लिए यह बहुत महत्वपूर्ण है।

आप इस इमेज को बनाने का तरीका डॉकरफ़ाइल नाम की फ़ाइल का उपयोग करके निर्धारित करते हैं।

कस्टम Docker इमेज बनाना — चित्र 1

हमारा सरल वेब ऐप

हम एक बेहद सरल Python Flask वेब ऐप को कंटेनर में रखेंगे। इसके वेब पते पर जाने पर यह केवल "Docker की ओर से नमस्ते!" लौटाता है।

कल्पना कीजिए कि किसी निर्देशिका में ये फ़ाइलें हैं:

  • app.py: Python ऐप का कोड
  • requirements.txt: Python निर्भरताओं की सूची
  • Dockerfile: इमेज बनाने के निर्देश

Flask एप्लिकेशन का कोड

यह हमारा बुनियादी Python Flask ऐप है। यह पोर्ट 5000 पर सुनता है और "Docker की ओर से नमस्कार!" के साथ प्रतिक्रिया देता है।

इसे स्थानीय रूप से (Flask इंस्टॉल करने के बाद) चलाकर आप इसे काम करते हुए देख सकते हैं!

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello from Docker!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

निर्भरताएँ निर्दिष्ट करना

हमारे ऐप को Flask लाइब्रेरी की आवश्यकता है। हम इसे requirements.txt में सूचीबद्ध करते हैं। यह फ़ाइल Docker (और Python के पैकेज प्रबंधक, pip) को बताती है कि क्या इंस्टॉल करना है।

इससे सुनिश्चित होता है कि हमारे इमेज में ऐप चलाने के लिए आवश्यक सभी लाइब्रेरियाँ मौजूद हों।

Flask==2.3.2

हमारी Docker फ़ाइल की संरचना

Docker की फ़ाइल एक टेक्स्ट फ़ाइल होती है, जिसमें इमेज बनाने के निर्देश होते हैं। प्रत्येक निर्देश एक परत बनाता है। हम ये निर्देश उपयोग करेंगे:

  • FROM: आधार इमेज निर्दिष्ट करता है (जैसे, Python)।
  • WORKDIR: कंटेनर के अंदर कार्यशील डायरेक्टरी सेट करता है।
  • COPY: आपकी स्थानीय मशीन से फ़ाइलों को इमेज में कॉपी करता है।
  • RUN: कमांड निष्पादित करता है (जैसे, निर्भरताएँ इंस्टॉल करना)।
  • EXPOSE: Docker को उन पोर्ट के बारे में बताता है जिन पर कंटेनर सुनता है।
  • CMD: कंटेनर शुरू होने पर चलने वाली डिफ़ॉल्ट कमांड परिभाषित करता है।

Docker फ़ाइल तैयार करना

यह हमारे Flask ऐप के लिए पूरी Dockerfile है। इस फ़ाइल को app.py और requirements.txt वाली डायरेक्टरी में ही रखें।

# Use an official Python runtime as a parent image
FROM python:3.9-slim-buster

# Set the working directory in the container
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY requirements.txt .
COPY app.py .

# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Make port 5000 available to the world outside this container
EXPOSE 5000

# Run app.py when the container launches
CMD ["python", "app.py"]

`docker build` कमांड

अब हमारी इमेज बनाएँ! उस डायरेक्टरी में अपना टर्मिनल खोलें जहाँ आपकी Dockerfile और ऐप की फ़ाइलें मौजूद हैं।

-t फ़्लैग हमारी इमेज को एक नाम (my-flask-app) और एक संस्करण (1.0) का टैग देता है। . Docker को वर्तमान डायरेक्टरी को बिल्ड संदर्भ के रूप में उपयोग करने के लिए कहता है।

docker build -t my-flask-app:1.0 .

अपनी नई इमेज की जाँच करना

बिल्ड पूरा होने के बाद, आप सभी स्थानीय Docker इमेज की सूची बनाकर यह जाँच सकते हैं कि आपकी नई इमेज मौजूद है।

आउटपुट में 1.0 टैग वाली my-flask-app खोजें।

docker images

अपने ऐप का कंटेनर शुरू करना

अब अपने ऐप को काम करते हुए देखने का समय है! अपनी इमेज से कंटेनर बनाने और शुरू करने के लिए docker run का उपयोग करें।

-p 5000:5000 आपके होस्ट मशीन के पोर्ट 5000 को कंटेनर के अंदर के पोर्ट 5000 से मैप करता है। -d इसे अलग किए गए मोड (पृष्ठभूमि में) चलाता है।

docker run -d -p 5000:5000 my-flask-app:1.0

"Docker की ओर से नमस्कार!" देखने के लिए अपने ब्राउज़र में http://localhost:5000 खोलें।

इमेज टैग करने की सर्वोत्तम प्रथाएँ

आपकी इमेज के अलग-अलग संस्करणों को प्रबंधित करने के लिए टैग बहुत महत्वपूर्ण हैं। एक सामान्य प्रथा है कि सिमेंटिक वर्ज़निंग (जैसे, 1.0.0, 2.1.5) और साथ ही latest टैग का उपयोग किया जाए।

आप docker tag का उपयोग करके किसी इमेज में कई टैग जोड़ सकते हैं:

docker tag my-flask-app:1.0 my-flask-app:latest

इससे आप एक ही इमेज को अलग-अलग नामों से संदर्भित कर सकते हैं, जिससे उसे तैनात करना अधिक लचीला हो जाता है।

त्वरित जाँच

निम्नलिखित Dockerfile और बिल्ड कमांड पर विचार करें:

# Dockerfile content
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello"]

docker build -t my-app:v1 .

docker build -t my-app:v1 . कमांड के बारे में निम्नलिखित में से कौन-सा कथन TRUE है?

पुनरावलोकन: कस्टम इमेज

बहुत अच्छा! आपने सीखा कि:

  • कंटेनरीकरण के लिए एक सरल एप्लिकेशन तैयार करें।
  • मुख्य निर्देशों (FROM, WORKDIR, COPY, RUN, EXPOSE, CMD) का उपयोग करके बुनियादी Dockerfile लिखें।
  • docker build -t का उपयोग करके कस्टम Docker इमेज बनाएँ।
  • docker images से अपनी इमेज की जाँच करें।
  • docker run -p का उपयोग करके अपनी कस्टम इमेज से कंटेनर चलाएँ।
  • इमेज टैग करने और संस्करण निर्धारित करने का महत्व समझें।

अब हम परतों और उनका आकार तथा बिल्ड समय कम करने की तकनीकों के साथ Docker इमेज की संरचना को और गहराई से समझेंगे!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Docker और DevOps की बुनियाद सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “कस्टम Docker इमेज बनाना” पाठ निःशुल्क है?

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

“कस्टम Docker इमेज बनाना” में मैं क्या सीखूँगा?

एक सरल एप्लिकेशन के लिए अपनी पहली कस्टम Docker इमेज बनाएँ और उसे सही ढंग से टैग व संस्करणित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Docker और DevOps की बुनियाद का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Docker और DevOps की बुनियाद शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Docker और DevOps की बुनियाद शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“कस्टम Docker इमेज बनाना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Docker और DevOps की बुनियाद पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Docker और DevOps की बुनियाद पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Dockerfile को समझना
  2. कस्टम Docker इमेज बनाना
  3. इमेज लेयर और अनुकूलन
  4. बहु-चरणीय बिल्ड और छोटे इमेज
← Docker और DevOps की बुनियाद पर वापस जाएँ