डॉकर शुरुआती गाइड: अपने एप्लिकेशन को कंटेनरीकृत करने के लिए जल्दी शुरुआत करें
2/18/2026
7 min read
```html
डॉकर शुरुआती गाइड: अपने एप्लिकेशन को कंटेनरीकृत करने के लिए जल्दी शुरुआत करें
डॉकर आधुनिक सॉफ्टवेयर विकास और तैनाती का एक अनिवार्य हिस्सा बन गया है। Kubernetes के बारे में चर्चाओं के बावजूद, डॉकर अभी भी कई कंपनियों के लिए एप्लिकेशन बनाने, परीक्षण करने और तैनात करने के लिए पसंदीदा उपकरण है। यह लेख आपको डॉकर के साथ जल्दी शुरुआत करने, इसकी मुख्य अवधारणाओं को समझने और एक व्यावहारिक उदाहरण प्रदान करेगा, जिससे आपको अपने एप्लिकेशन को कंटेनरीकृत करने में मदद मिलेगी। ## डॉकर मुख्य अवधारणाएं अभ्यास शुरू करने से पहले, डॉकर की कुछ मुख्य अवधारणाओं को समझना महत्वपूर्ण है: * **इमेज (Image):** इमेज एक रीड-ओनली टेम्पलेट है, जिसमें एप्लिकेशन को चलाने के लिए आवश्यक सब कुछ शामिल है: कोड, रनटाइम वातावरण, सिस्टम टूल, लाइब्रेरी और निर्भरताएँ। यह वर्चुअल मशीन इमेज के समान है, लेकिन अधिक हल्का है। * **कंटेनर (Container):** कंटेनर एक इमेज से बनाया गया एक रनिंग इंस्टेंस है। यह इमेज का एक रनटाइम इंस्टेंस है, जिसमें एप्लिकेशन और उसकी सभी निर्भरताएँ शामिल हैं। कंटेनर एक दूसरे से अलग-थलग हैं, उनके पास अपनी फ़ाइल सिस्टम, प्रक्रियाएं और नेटवर्क स्थान हैं। * **डॉकर हब (Docker Hub):** डॉकर हब एक सार्वजनिक इमेज रिपॉजिटरी है, जहाँ से आप पहले से बनी इमेज डाउनलोड कर सकते हैं, या अपनी खुद की इमेज अपलोड कर सकते हैं। यह GitHub के समान है, लेकिन विशेष रूप से डॉकर इमेज के लिए। * **डॉकरफ़ाइल (Dockerfile):** डॉकरफ़ाइल एक टेक्स्ट फ़ाइल है, जिसमें डॉकर इमेज बनाने के लिए सभी निर्देश शामिल हैं। डॉकरफ़ाइल लिखकर, आप इमेज बनाने की प्रक्रिया को स्वचालित कर सकते हैं। * **डॉकर कंपोज़ (Docker Compose):** डॉकर कंपोज़ एक उपकरण है जिसका उपयोग मल्टी-कंटेनर डॉकर एप्लिकेशन को परिभाषित और चलाने के लिए किया जाता है। यह आपको YAML फ़ाइल का उपयोग करके एप्लिकेशन की सेवाओं को कॉन्फ़िगर करने की अनुमति देता है, और फिर एक ही कमांड का उपयोग करके सभी सेवाओं को शुरू या बंद कर देता है। ## डॉकर इंस्टॉलेशन सबसे पहले, आपको डॉकर इंस्टॉल करना होगा। डॉकर विभिन्न ऑपरेटिंग सिस्टम के लिए इंस्टॉलेशन पैकेज प्रदान करता है। [डॉकर आधिकारिक वेबसाइट](https://www.docker.com/get-started/) पर जाएं और संबंधित निर्देशों का पालन करके इंस्टॉल करें। इंस्टॉलेशन पूरा होने के बाद, आप `docker --version` कमांड चलाकर सत्यापित कर सकते हैं कि डॉकर सही ढंग से इंस्टॉल किया गया है या नहीं। ## एक सरल पायथन एप्लिकेशन को कंटेनरीकृत करें हम एक सरल पायथन एप्लिकेशन बनाएंगे, और इसे कंटेनरीकृत करने के लिए डॉकर का उपयोग करेंगे। ### 1. पायथन एप्लिकेशन बनाएं `app.py` नामक एक फ़ाइल बनाएं, जिसमें निम्नलिखित कोड शामिल हो: ```python from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello, Docker!" if __name__ == "__main__": app.run(debug=True, host='0.0.0.0') ``` यह सरल Flask एप्लिकेशन रूट पाथ `/` पर "Hello, Docker!" लौटाएगा। ### 2. `requirements.txt` फ़ाइल बनाएं एप्लिकेशन Flask लाइब्रेरी पर निर्भर करता है, हमें इन निर्भरताओं को घोषित करने के लिए एक `requirements.txt` फ़ाइल बनाने की आवश्यकता है। ``` Flask ``` ### 3. डॉकरफ़ाइल बनाएं `Dockerfile` नामक एक फ़ाइल बनाएं, और निम्नलिखित सामग्री जोड़ें: ```dockerfile # आधिकारिक पायथन इमेज को बेस इमेज के रूप में उपयोग करें FROM python:3.9-slim-buster # वर्किंग डायरेक्टरी सेट करें WORKDIR /app # requirements.txt फ़ाइल को वर्किंग डायरेक्टरी में कॉपी करें COPY requirements.txt . # निर्भरताएँ इंस्टॉल करें RUN pip install --no-cache-dir -r requirements.txt ``` # एप्लिकेशन कोड को वर्किंग डायरेक्टरी में कॉपी करें COPY app.py . # पोर्ट 5000 को एक्सपोज करें EXPOSE 5000 # स्टार्टअप कमांड को परिभाषित करें CMD ["python", "app.py"] ``` **Dockerfile स्पष्टीकरण:** * `FROM python:3.9-slim-buster`: बेस इमेज को Python 3.9 के स्लिम संस्करण के रूप में निर्दिष्ट करता है। * `WORKDIR /app`: कंटेनर के अंदर वर्किंग डायरेक्टरी को `/app` के रूप में सेट करता है। * `COPY requirements.txt .`: वर्तमान डायरेक्टरी से `requirements.txt` फ़ाइल को कंटेनर के `/app` डायरेक्टरी में कॉपी करता है। * `RUN pip install --no-cache-dir -r requirements.txt`: कंटेनर के अंदर `pip` कमांड चलाकर `requirements.txt` फ़ाइल में निर्दिष्ट निर्भरताओं को इंस्टॉल करता है। `--no-cache-dir` पैरामीटर इमेज के आकार को कम कर सकता है। * `COPY app.py .`: वर्तमान डायरेक्टरी से `app.py` फ़ाइल को कंटेनर के `/app` डायरेक्टरी में कॉपी करता है। * `EXPOSE 5000`: घोषित करता है कि कंटेनर 5000 पोर्ट पर सुनेगा। * `CMD ["python", "app.py"]`: कंटेनर के शुरू होने पर निष्पादित होने वाले कमांड को परिभाषित करता है। ### 4. Docker इमेज बनाएं `Dockerfile` वाली डायरेक्टरी में, Docker इमेज बनाने के लिए निम्नलिखित कमांड चलाएँ: ```bash docker build -t my-python-app . ``` * `docker build`: इमेज बनाने का कमांड। * `-t my-python-app`: इमेज के लिए एक नाम (`my-python-app`) निर्दिष्ट करता है। * `.`: Dockerfile वाली डायरेक्टरी (वर्तमान डायरेक्टरी) निर्दिष्ट करता है। निर्माण प्रक्रिया में कुछ समय लग सकता है, जो नेटवर्क की गति और निर्भरताओं के आकार पर निर्भर करता है। ### 5. Docker कंटेनर चलाएं Docker कंटेनर चलाने के लिए निम्नलिखित कमांड का उपयोग करें: ```bash docker run -d -p 5000:5000 my-python-app ``` * `docker run`: कंटेनर चलाने का कमांड। * `-d`: कंटेनर को अलग मोड में चलाता है (पृष्ठभूमि में चलता है)। * `-p 5000:5000`: होस्ट मशीन के 5000 पोर्ट को कंटेनर के 5000 पोर्ट पर मैप करता है। * `my-python-app`: उपयोग करने के लिए इमेज का नाम निर्दिष्ट करता है। ### 6. एप्लिकेशन को सत्यापित करें ब्राउज़र में `http://localhost:5000` पर जाएँ, आपको "Hello, Docker!" दिखाई देना चाहिए। ### 7. कंटेनर को रोकें और हटाएं कंटेनर को रोकने के लिए निम्नलिखित कमांड का उपयोग करें: ```bash docker stop ``` `` को `docker ps` कमांड का उपयोग करके देखा जा सकता है। कंटेनर को हटाने के लिए निम्नलिखित कमांड का उपयोग करें: ```bash docker rm ``` ## Docker Compose का परिचय यदि आपका एप्लिकेशन कई सेवाओं से बना है, तो आप उन्हें प्रबंधित करने के लिए Docker Compose का उपयोग कर सकते हैं। ### 1. `docker-compose.yml` फ़ाइल बनाएं `docker-compose.yml` नामक एक फ़ाइल बनाएं और निम्नलिखित सामग्री जोड़ें: ```yaml version: "3.9" services: web: image: my-python-app ports: - "5000:5000" ``` **docker-compose.yml स्पष्टीकरण:*** `version: "3.9"`: डॉकर कंपोज फ़ाइल का संस्करण निर्दिष्ट करता है। * `services`: एप्लिकेशन की सेवाओं को परिभाषित करता है। * `web`: "web" नामक एक सेवा को परिभाषित करता है। * `image: my-python-app`: सेवा द्वारा उपयोग की जाने वाली इमेज को निर्दिष्ट करता है। * `ports`: पोर्ट मैपिंग को परिभाषित करता है। ### 2. एप्लिकेशन शुरू करना `docker-compose.yml` फ़ाइल वाले निर्देशिका में, एप्लिकेशन शुरू करने के लिए निम्नलिखित कमांड चलाएँ: ```bash docker-compose up -d ``` * `docker-compose up`: एप्लिकेशन शुरू करने का कमांड। * `-d`: कंटेनर को अलग मोड में चलाता है। ### 3. एप्लिकेशन को रोकना एप्लिकेशन को रोकने के लिए निम्नलिखित कमांड का उपयोग करें: ```bash docker-compose down ``` ## डॉकर सुरक्षा सर्वोत्तम अभ्यास चर्चा से पता चलता है कि डॉकर इमेज की सुरक्षा एक महत्वपूर्ण मुद्दा है। यहां कुछ डॉकर सुरक्षा सर्वोत्तम अभ्यास दिए गए हैं: * **आधिकारिक इमेज का उपयोग करें:** जितना संभव हो आधिकारिक तौर पर प्रदान की गई इमेज का उपयोग करें, इन इमेज को आमतौर पर सुरक्षा स्कैन और रखरखाव किया जाता है। * **इमेज भेद्यता को स्कैन करें:** ट्रिवी जैसे टूल का उपयोग करके इमेज में ज्ञात भेद्यता को स्कैन करें और इमेज को समय पर अपडेट करें। * **न्यूनतम विशेषाधिकार सिद्धांत का उपयोग करें:** रूट उपयोगकर्ता के रूप में कंटेनर चलाने से बचें। * **कंटेनर संसाधनों को सीमित करें:** cgroups का उपयोग करके कंटेनर के CPU और मेमोरी उपयोग को सीमित करें। * **नियमित रूप से इमेज अपडेट करें:** सुरक्षा कमजोरियों को ठीक करने के लिए इमेज को अपडेट रखें। * **सुरक्षा स्कैनिंग टूल का उपयोग करें:** Snyk, Clair जैसे टूल को आपकी CI/CD प्रक्रिया में एकीकृत किया जा सकता है, जो स्वचालित रूप से इमेज कमजोरियों को स्कैन करते हैं। ## निष्कर्षयह लेख एक डॉकर त्वरित शुरुआत गाइड प्रदान करता है, जिसमें मुख्य अवधारणाएं, स्थापना चरण और एक साधारण पायथन एप्लिकेशन का कंटेनरीकरण उदाहरण शामिल है। इन बुनियादी बातों को सीखकर, आप अपने एप्लिकेशन को बनाने, परीक्षण करने और तैनात करने के लिए डॉकर का उपयोग शुरू कर सकते हैं। याद रखें, सुरक्षा महत्वपूर्ण है, हमेशा डॉकर छवियों की सुरक्षा पर ध्यान दें, और अपने एप्लिकेशन को सुरक्षित रखने के लिए उचित उपाय करें। हालांकि Kubernetes बड़े पैमाने पर कंटेनर ऑर्केस्ट्रेशन में शक्तिशाली है, लेकिन डॉकर कई परिदृश्यों में अभी भी एक सरल और प्रभावी समाधान है। डॉकर में महारत हासिल करके, आप आधुनिक सॉफ्टवेयर विकास और तैनाती की चुनौतियों का बेहतर ढंग से सामना कर सकते हैं।Published in Technology





