DevOps बूटकैंप · पाठ

रजिस्ट्री में इमेज भेजना

अपनी बनाई हुई Docker इमेज को Docker Hub या GitHub Container Registry जैसी कंटेनर रजिस्ट्री में भेजने के लिए वर्कफ़्लो कॉन्फ़िगर कीजिए।

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

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

कंटेनर रजिस्ट्री क्या होती हैं?

कंटेनर रजिस्ट्री आपकी डॉकर इमेज के लिए एक सुरक्षित ऑनलाइन भंडारण सेवा होती है। इसे विशेष रूप से आपके एप्लिकेशन के पैकेज के लिए बनाई गई क्लाउड ड्राइव जैसा समझें।

  • ये आपकी इमेज के अलग-अलग संस्करण संग्रहीत करती हैं।
  • इनसे इमेज को दूसरों के साथ साझा करना आसान होता है।
  • अलग-अलग परिवेशों में परिनियोजन के लिए ये अत्यंत महत्वपूर्ण होती हैं।

रजिस्ट्री का उपयोग क्यों करें?

आधुनिक सॉफ़्टवेयर विकास के लिए रजिस्ट्री आवश्यक होती हैं। इनके कई महत्वपूर्ण लाभ हैं:

  • इमेज साझा करना: अपनी एप्लिकेशन इमेज आसानी से वितरित करें।
  • संस्करण नियंत्रण: अपने एप्लिकेशन के अलग-अलग संस्करण संग्रहीत और प्रबंधित करें।
  • विश्वसनीय परिनियोजन: अलग-अलग परिवेशों में एकसमान परिनियोजन सुनिश्चित करें।
  • सुरक्षा: कई रजिस्ट्री कमज़ोरियों की जाँच की सुविधा देती हैं।

सामान्य रजिस्ट्री सेवाएँ

कई कंटेनर रजिस्ट्री सेवाएँ उपलब्ध हैं। इनमें से दो लोकप्रिय सेवाओं का आप अक्सर सामना करेंगे:

  • डॉकर हब: व्यापक रूप से उपयोग की जाने वाली सार्वजनिक रजिस्ट्री। सार्वजनिक इमेज साझा करने और व्यक्तिगत प्रोजेक्ट के लिए उपयोगी।
  • GitHub कंटेनर रजिस्ट्री (GHCR): GitHub रिपॉज़िटरी के साथ घनिष्ठ रूप से एकीकृत। निजी इमेज और पहले से GitHub का उपयोग करने वाले संगठनों के लिए उत्कृष्ट।

अन्य बड़े क्लाउड प्रदाता भी अपनी रजिस्ट्री उपलब्ध कराते हैं, जैसे AWS ECR या गूगल कंटेनर रजिस्ट्री।

रजिस्ट्री प्रमाणीकरण

किसी रजिस्ट्री में इमेज भेजने से पहले आपको अपनी पहचान प्रमाणित करनी होती है। इस प्रक्रिया को प्रमाणीकरण या 'लॉगिन करना' कहा जाता है।

आमतौर पर आपको उपयोगकर्ता नाम और व्यक्तिगत एक्सेस टोकन (PAT) या पासवर्ड देना होता है। ये लॉगिन विवरण सुनिश्चित करते हैं कि केवल अधिकृत उपयोगकर्ता ही आपकी निजी रिपॉज़िटरी से इमेज भेज या प्राप्त कर सकें।

docker/login-action का उपयोग करना

GitHub एक्शन में अधिकांश डॉकर-संगत रजिस्ट्री के साथ प्रमाणीकरण करने का सबसे अच्छा तरीका docker/login-action का उपयोग करना है।

यह एक्शन आपके कार्यप्रवाह को निर्दिष्ट रजिस्ट्री में सुरक्षित रूप से लॉगिन कराता है, जिससे बाद के चरण इमेज भेज सकें। इसमें username और password इनपुट के रूप में लिए जाते हैं।

डॉकर हब में इमेज भेजना

डॉकर हब में इमेज भेजने के लिए आपके कार्यप्रवाह को ये काम करने होंगे:

  1. लॉगिन करें: डॉकर हब के उपयोगकर्ता नाम और GitHub सीक्रेट के रूप में संग्रहीत व्यक्तिगत एक्सेस टोकन (PAT) के साथ docker/login-action का उपयोग करें।
  2. निर्माण और भेजना: अपनी इमेज बनाने के लिए docker/build-push-action का उपयोग करें और push: true निर्धारित करें। सुनिश्चित करें कि आपकी इमेज के टैग में आपका डॉकर हब उपयोगकर्ता नाम शामिल हो, जैसे your_username/my-app:latest।

डॉकर हब कार्यप्रवाह का उदाहरण

डॉकर हब में डॉकर इमेज बनाने और भेजने के लिए यह GitHub एक्शन कार्यप्रवाह का उदाहरण है। अपनी रिपॉज़िटरी में DOCKER_USERNAME और DOCKER_TOKEN को GitHub सीक्रेट के रूप में स्थापित करना याद रखें।

name: Publish Docker image to Docker Hub

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Log in to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: ${{ secrets.DOCKER_USERNAME }}/my-app:latest

GHCR में इमेज भेजना

GitHub कंटेनर रजिस्ट्री (GHCR) सहज एकीकरण प्रदान करती है। GHCR के लिए मुख्य अंतर ये हैं:

  • प्रमाणीकरण: प्रमाणीकरण के लिए आप अंतर्निर्मित GITHUB_TOKEN का उपयोग कर सकते हैं। username: ${{ github.actor }} और password: ${{ secrets.GITHUB_TOKEN }} निर्धारित करें।
  • अनुमतियाँ: आपके जॉब को packages: write की अनुमति चाहिए।
  • इमेज पर टैग लगाना: इमेज पर ghcr.io/<OWNER>/<REPOSITORY>:<TAG> जैसे टैग लगाए जाते हैं।

GHCR कार्यप्रवाह का उदाहरण

यह कार्यप्रवाह GitHub कंटेनर रजिस्ट्री में इमेज भेजने का तरीका दिखाता है। permissions ब्लॉक और इमेज के टैग के प्रारूप पर ध्यान दें।

name: Publish Docker image to GHCR

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write # Required for GHCR

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Log in to GHCR
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: ghcr.io/${{ github.repository }}:latest

अपनी समझ जाँचें

आइए, कंटेनर रजिस्ट्रियों में इमेज पुश करने के बारे में आपने जो सीखा है, उसका जल्दी से पुनरावलोकन करें।

अपनी इमेज पुश करें: पुनरावलोकन

बहुत अच्छा! आपने GitHub एक्शंस का उपयोग करके कंटेनर रजिस्ट्रियों में डॉकर इमेज पुश करना सीख लिया है।

  • कंटेनर रजिस्ट्रियाँ आपकी डॉकर इमेज को संग्रहीत और प्रबंधित करती हैं।
  • क्रेडेंशियल का उपयोग करके प्रमाणीकरण करना एक महत्वपूर्ण पहला चरण है।
  • docker/login-action आपको सुरक्षित रूप से लॉग इन करने में सहायता करता है।
  • आपने डॉकर हब और GitHub कंटेनर रजिस्ट्री, दोनों के उदाहरण देखे और उनकी अलग-अलग प्रमाणीकरण तथा टैग लगाने की आवश्यकताओं को समझा।

अब आप इन इमेज को कुबेरनेटिस में परिनियोजित करना सीखेंगे!

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

एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क

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

पाठ्यक्रम
142
पाठ
568

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

क्या “रजिस्ट्री में इमेज भेजना” पाठ निःशुल्क है?

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

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

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

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

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

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

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

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

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

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

  1. Actions के साथ Docker इमेज बनाना
  2. रजिस्ट्री में इमेज भेजना
  3. Actions के साथ Kubernetes में परिनियोजन
  4. CI/CD में Helm chart और Kubernetes manifest
← DevOps बूटकैंप पर वापस जाएँ