यह गाइड आपको Docker का उपयोग करके एक एप्लिकेशन को कंटेनराइज़ करने की प्रक्रिया से गुजारती है। आप एक Dockerfile लिखेंगे, इमेज बनाएंगे, इसे एक कंटेनर के रूप में चलाएंगे, और वैकल्पिक रूप से इसे Docker Hub पर पुश करेंगे।
चरण 1: एक Dockerfile बनाएं
अपने प्रोजेक्ट की रूट डायरेक्टरी में, (कोई एक्सटेंशन नहीं) नाम की एक फ़ाइल बनाएं।Dockerfile
उदाहरण (Python Flask ऐप):
# बेस इमेज FROM python:3.10-slim # वर्किंग डायरेक्टरी सेट करें WORKDIR /app # सभी प्रोजेक्ट फ़ाइलें कॉपी करें COPY . . # डिपेंडेंसीज़ इंस्टॉल करें RUN pip install --no-cache-dir -r requirements.txt # ऐप पोर्ट एक्सपोज़ करें EXPOSE 5000 # ऐप चलाने का कमांड CMD ["python", "app.py"] Node.js या Java जैसी अन्य भाषाओं के लिए, बेस इमेज और कमांड्स को एडजस्ट करें।
चरण 2: Docker इमेज बिल्ड करें
अपना टर्मिनल खोलें, अपनी प्रोजेक्ट डायरेक्टरी पर नेविगेट करें, और यह कमांड रन करें:
docker build -t my-app-image . -
-t my-app-image: इमेज को आसान रेफरेंस के लिए टैग करता है। -
.: वर्तमान डायरेक्टरी को संदर्भित करता है जिसमें Dockerfile है।
चरण 3: Docker कंटेनर रन करें
docker run -d -p 5000:5000 --name my-app-container my-app-image -
-d: डिटैच्ड मोड में रन करें (बैकग्राउंड में)। -
-p 5000:5000: होस्ट पोर्ट को कंटेनर पोर्ट से मैप करता है। -
--name: कंटेनर को एक कस्टम नाम देता है।
चरण 4: कंटेनर की जांच करें
यह सत्यापित करने के लिए कि यह चल रहा है:
docker ps अपने ऐप तक इस URL पर विजिट करके पहुंचें:
http://localhost:5000 (वैकल्पिक) चरण 5: रोकें और हटाएं
कंटेनर रोकें:
docker stop my-app-container कंटेनर हटाएं:
docker rm my-app-container इमेज डिलीट करें:
docker rmi my-app-image (वैकल्पिक) चरण 6: Docker Hub पर पुश करें
-
Docker में लॉगिन करें:
docker login -
इमेज को टैग करें:
docker tag my-app-image yourusername/my-app-image -
इमेज पुश करें:
docker push yourusername/my-app-image
अब आप इस इमेज को कहीं भी इस कमांड से पुल कर सकते हैं:
docker pull yourusername/my-app-image निष्कर्ष
Docker का उपयोग करके, आपने अपने एप्लिकेशन को एक हल्के, पोर्टेबल कंटेनर में पैकेज किया है जो विभिन्न वातावरणों में लगातार चलता है। चाहे आप लोकल, स्टेजिंग, या प्रोडक्शन में डिप्लॉय कर रहे हों, Docker यह सुनिश्चित करता है कि आपका ऐप हर जगह एक जैसा व्यवहार करे। यह दृष्टिकोण डेवलपमेंट, टेस्टिंग और डिप्लॉयमेंट को सरल बनाता है—जिससे आपके वर्कफ़्लोज़ तेज़ और अधिक विश्वसनीय बनते हैं।
खोजें