डॉकर एप्लिकेशन बनाने, चलाने और वितरित करने का एक मंच है। यह आपको अपने एप्लिकेशन और उसकी सभी निर्भरताओं को एक ही कंटेनर में पैकेज करने की अनुमति देता है, जिसे बाद में डॉकर स्थापित किसी भी मशीन पर चलाया जा सकता है।
यह डॉकर को वेब अनुप्रयोगों को तैनात करने के लिए आदर्श बनाता है, क्योंकि यह किसी भी संगतता समस्याओं के बारे में चिंता किए बिना आपके एप्लिकेशन को एक वातावरण से दूसरे वातावरण में ले जाना आसान बनाता है।
दूसरी ओर, Django एक पायथन वेब फ्रेमवर्क है जो शक्तिशाली और स्केलेबल वेब एप्लिकेशन बनाना आसान बनाता है। Django बॉक्स से बाहर कई सुविधाएं प्रदान करता है, जैसे उपयोगकर्ता प्रमाणीकरण प्रणाली, डेटाबेस एब्स्ट्रैक्शन परत और टेम्पलेट इंजन।
इससे Django के साथ शुरुआत करना और जटिल वेब एप्लिकेशन को जल्दी और आसानी से बनाना आसान हो जाता है।
Django एप्लिकेशन को डॉकराइज़ करना और तैनात करना अपेक्षाकृत सरल प्रक्रिया है। इसमें शामिल मुख्य चरण हैं:
1. अपने Django एप्लिकेशन के लिए एक Dockerfile बनाएं।
2. अपने Dockerfile से एक Docker छवि बनाएं।
3. डॉकर छवि को उत्पादन परिवेश में तैनात करें।
इस लेख में, मैं आपको Django एप्लिकेशन को डॉकराइज़ करने और तैनात करने से जुड़े चरणों के बारे में विस्तार से बताऊंगा। मैं उत्पादन में Django अनुप्रयोगों को तैनात करने के लिए कुछ सुझाव और सर्वोत्तम अभ्यास भी प्रदान करूंगा।
इस ट्यूटोरियल का अनुसरण करने के लिए, आपको निम्नलिखित शर्तों की आवश्यकता होगी:
यदि आप अपने Django एप्लिकेशन को उत्पादन में तैनात करना चाहते हैं तो आपको AWS, Azure, या Google क्लाउड प्लेटफ़ॉर्म जैसे क्लाउड होस्टिंग प्रदाता की भी आवश्यकता होगी। लेकिन इस ट्यूटोरियल के लिए, मैं हेरोकू का उपयोग करूंगा।
एक बार जब आपके पास सभी आवश्यक शर्तें इंस्टॉल हो जाएं, तो आप अपने Django एप्लिकेशन को डॉकराइज़िंग और तैनात करने के लिए तैयार हैं!
एक नया Django प्रोजेक्ट शुरू करने के लिए, आपको django-admin
कमांड का उपयोग करना होगा। यह कमांड आपको अपने Django एप्लिकेशन के लिए एक प्रोजेक्ट निर्देशिका और कुछ बुनियादी फ़ाइलें बनाने की सुविधा देता है। उदाहरण के लिए, यदि आप my_project
नामक प्रोजेक्ट बनाना चाहते हैं, तो आप इस कमांड को अपने टर्मिनल में चला सकते हैं:
django-admin startproject my_project
यह निम्नलिखित संरचना के साथ `my_project` नामक एक निर्देशिका बनाएगा:
मेरी परियोजना/
├──manage.py
└── प्रोजेक्ट/
├──
├── सेटिंग्स.py
└── urls.py
manage.py
फ़ाइल एक स्क्रिप्ट है जो आपको अपने प्रोजेक्ट के लिए विभिन्न कार्य करने की अनुमति देती है, जैसे विकास सर्वर चलाना, डेटाबेस माइग्रेशन बनाना और अपने कोड का परीक्षण करना। project/
निर्देशिका में आपके प्रोजेक्ट के लिए सेटिंग्स और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं।
settings.py
फ़ाइल आपके प्रोजेक्ट के लिए मुख्य सेटिंग्स को परिभाषित करती है, जैसे डेटाबेस कनेक्शन, इंस्टॉल किए गए ऐप्स और मिडलवेयर। urls.py
फ़ाइल आपके प्रोजेक्ट के URL को आपके ऐप्स के दृश्यों के साथ मैप करती है।
एक नया Django प्रोजेक्ट बनाने के बाद, आप डेवलपमेंट सर्वर चलाकर स्थानीय स्तर पर इसका परीक्षण कर सकते हैं। डेवलपमेंट सर्वर एक साधारण वेब सर्वर है जो आपकी मशीन पर चलता है और आपकी प्रोजेक्ट फ़ाइलों को परोसता है। विकास सर्वर शुरू करने के लिए, इस कमांड को अपने टर्मिनल में चलाएँ:
python manage.py runserver
यह डिफ़ॉल्ट रूप से पोर्ट 8000 पर सर्वर प्रारंभ करेगा। फिर आप अपना ब्राउज़र खोल सकते हैं और डिफ़ॉल्ट Django होमपेज देखने के लिए http://localhost:8000/ पर जा सकते हैं।
Django प्रोजेक्ट कई फ़ाइलों और निर्देशिकाओं से बना है जो आपके वेब एप्लिकेशन की कार्यक्षमता और उपस्थिति को परिभाषित करते हैं। Django प्रोजेक्ट के मुख्य घटक हैं:
manage.py
: एक स्क्रिप्ट जो आपके प्रोजेक्ट को प्रबंधित करने के लिए विभिन्न कमांड प्रदान करती है, जैसे ऐप्स बनाना, डेटाबेस माइग्रेट करना और आपके कोड का परीक्षण करना।
project/
: एक निर्देशिका जिसमें आपके प्रोजेक्ट के लिए सेटिंग्स और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं। इस निर्देशिका में मुख्य फ़ाइलें हैं:
`settings.py`: A file that defines the main settings for your project, such as the database connection, the installed apps, and the middleware. You can customize this file to suit your needs and preferences. `urls.py`: A file that maps the URLs of your project to the views of your apps. You can define different URL patterns for different parts of your web application.
apps/
: एक निर्देशिका जिसमें आपके प्रोजेक्ट को बनाने वाले सभी Django ऐप्स शामिल हैं। प्रत्येक Django ऐप एक अलग पायथन पैकेज है जो आपके वेब एप्लिकेशन के लिए एक विशिष्ट कार्यक्षमता या सुविधा प्रदान करता है। आप अपने स्वयं के ऐप्स बना सकते हैं या तृतीय-पक्ष स्रोतों से मौजूदा ऐप्स का उपयोग कर सकते हैं।
स्थानीय स्तर पर प्रोजेक्ट का परीक्षण करने के लिए, आप विकास सर्वर या Django द्वारा प्रदान किए गए परीक्षण ढांचे का उपयोग कर सकते हैं। डेवलपमेंट सर्वर एक साधारण वेब सर्वर है जो आपकी मशीन पर चलता है और आपकी प्रोजेक्ट फ़ाइलों को परोसता है। परीक्षण ढांचा एक उपकरण है जो आपको अपने कोड के लिए यूनिट परीक्षण लिखने और चलाने की अनुमति देता है।
विकास सर्वर का उपयोग करने के लिए, आप इस कमांड को अपने टर्मिनल में चला सकते हैं:
python manage.py runserver
यह डिफ़ॉल्ट रूप से पोर्ट 8000 पर सर्वर प्रारंभ करेगा। फिर आप अपना ब्राउज़र खोल सकते हैं, और डिफ़ॉल्ट Django होमपेज देखने के लिए `http://localhost:8000/` पर जा सकते हैं।
परीक्षण ढांचे का उपयोग करने के लिए, आप इस कमांड को अपने टर्मिनल में चला सकते हैं:
python manage.py test
यह आपके प्रोजेक्ट के लिए सभी यूनिट परीक्षण चलाएगा। यदि सभी परीक्षण सफल हो जाते हैं, तो आपको इस तरह एक संदेश दिखाई देगा:
Ran 1 test in 0.001s Ok
यदि कोई भी परीक्षण विफल हो जाता है, तो आपको विफलता के विवरण के साथ एक त्रुटि संदेश दिखाई देगा। आप इस जानकारी का उपयोग अपने कोड को डीबग करने और ठीक करने के लिए कर सकते हैं।
एक बार जब आप परियोजना का स्थानीय स्तर पर परीक्षण कर लेते हैं और परिणामों से संतुष्ट हो जाते हैं, तो आप इसे उत्पादन वातावरण में तैनात कर सकते हैं।
डॉकरफ़ाइल एक टेक्स्ट फ़ाइल है जिसमें डॉकर छवि बनाने के निर्देश शामिल हैं। डॉकर छवि एक स्व-निहित निष्पादन योग्य पैकेज है जिसमें एप्लिकेशन चलाने के लिए आवश्यक सभी चीजें शामिल हैं: कोड, रनटाइम, सिस्टम टूल्स, सिस्टम लाइब्रेरी और सेटिंग्स।
डॉकरफ़ाइल बनाने के लिए, आपको आधार छवि, आवश्यक पैकेज स्थापित करने के लिए चलाने के लिए कमांड और एप्लिकेशन शुरू करने के लिए चलाने के लिए कमांड निर्दिष्ट करने की आवश्यकता है।
यहां Django प्रोजेक्ट के लिए Dockerfile का एक उदाहरण दिया गया है:
FROM python:3.9 #Install Django and other required packages RUN pip install django # Copy the Django project files into the image COPY ./app # Set the working directory WORKDIR /app # Start the Django development server CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
यह Dockerfile एक Docker छवि बनाएगी जिसमें Python 3.9, Django और Django प्रोजेक्ट फ़ाइलें शामिल हैं। छवि को पोर्ट 8000 पर Django डेवलपमेंट सर्वर शुरू करने के लिए कॉन्फ़िगर किया जाएगा।
Docker-compose.yml फ़ाइल एक YAML फ़ाइल है जो उन सेवाओं को परिभाषित करती है जो Dockerized एप्लिकेशन बनाती हैं। एक सेवा एकल डॉकर कंटेनर या डॉकर कंटेनरों का समूह हो सकती है।
Django प्रोजेक्ट के लिए docker-compose.yml फ़ाइल बनाने के लिए, आपको वेब सेवा और डेटाबेस सेवा को परिभाषित करने की आवश्यकता है। वेब सेवा Django एप्लिकेशन को चलाएगी, और डेटाबेस सेवा उस डेटाबेस को चलाएगी जिसका उपयोग Django एप्लिकेशन करता है।
यहां Django प्रोजेक्ट के लिए docker-compose.yml फ़ाइल का एक उदाहरण दिया गया है:
version: "3.9" services: web: build: ports: -"8000:8000" volumes -./:/app db: image: postgres:14.0-alpine volumes: -./postgres:/var/lib/postgresql/data
यह docker-compose.yml फ़ाइल दो सेवाओं को परिभाषित करती है: web
और db
। web
सेवा Docker फ़ाइल से Docker छवि बनाएगी जिसे हमने पिछले अनुभाग में बनाया था। web
सेवा होस्ट मशीन पर पोर्ट 8000 को भी प्रदर्शित करेगी ताकि हम Django डेवलपमेंट सर्वर तक पहुंच सकें।
db
सेवा आधिकारिक PostgreSQL डॉकर छवि का उपयोग करेगी। db
सेवा होस्ट मशीन पर postgres
निर्देशिका को कंटेनर के अंदर /var/lib/postgresql/data
निर्देशिका में भी माउंट करेगी। यह सुनिश्चित करेगा कि डेटाबेस फ़ाइलें कंटेनर पुनरारंभ के बीच बनी रहें।
डॉकर कंटेनर बनाने और चलाने के लिए, हम निम्नलिखित कमांड का उपयोग कर सकते हैं:
docker-compose up -d
यह कमांड `वेब` और `डीबी` सेवाओं के लिए डॉकर छवियां बनाएगा यदि वे पहले से मौजूद नहीं हैं। फिर कमांड `वेब` और `डीबी` सेवाओं के लिए डॉकर कंटेनर शुरू करेगा।
एक बार डॉकर कंटेनर चलने के बाद, हम वेब ब्राउज़र का उपयोग करके स्थानीय रूप से डॉकराइज़्ड Django प्रोजेक्ट का परीक्षण कर सकते हैं। एक वेब ब्राउज़र खोलें, और `http://localhost:8000` पर नेविगेट करें। अब आपको Django डेवलपमेंट पेज देखने में सक्षम होना चाहिए।
आप http://localhost:8000/admin/
पर Django एडमिन पेज पर भी लॉग इन कर सकते हैं। उपयोगकर्ता नाम और पासवर्ड डिफ़ॉल्ट रूप से admin
और admin
हैं।
अब, Git, GitHub और Heroku का उपयोग करके अपने Django प्रोजेक्ट को क्लाउड प्लेटफ़ॉर्म पर तैनात करने का समय आ गया है। आप वेब ब्राउज़र का उपयोग करके अपने तैनात वेब एप्लिकेशन का परीक्षण भी करेंगे।
Git एक सॉफ्टवेयर टूल है जो आपके प्रोजेक्ट के सोर्स कोड को प्रबंधित करने में आपकी मदद कर सकता है। यह आपको अपने कोड में किए गए परिवर्तनों को ट्रैक करने, अन्य डेवलपर्स के साथ सहयोग करने और कुछ गलत होने पर पिछले संस्करणों पर वापस लौटने की अनुमति देता है।
Git आपको अपने कोड को GitHub जैसे दूरस्थ रिपॉजिटरी में भेजने की अनुमति भी दे सकता है, जहां आप अपना कोड संग्रहीत कर सकते हैं और दूसरों के साथ साझा कर सकते हैं।
यदि आपने पहले ही GitHub रिपॉजिटरी बना ली है तो कृपया निम्नलिखित पर ध्यान न दें।
अपने Django प्रोजेक्ट के लिए GitHub रिपॉजिटरी बनाने के लिए, आपको इन चरणों का पालन करना होगा:
- GitHub पर एक निःशुल्क खाता बनाएँ
- अपने प्रोफ़ाइल पृष्ठ पर जाएं, और रिपोजिटरीज़ के बगल में स्थित नए बटन पर क्लिक करें।
- अपनी रिपॉजिटरी को एक नाम दें, जैसे django-docker-app
, और वैकल्पिक रूप से एक विवरण जोड़ें।
- क्रिएट रिपॉजिटरी बटन पर क्लिक करें।
अब जब आपने GitHub पर एक खाली रिपॉजिटरी बना ली है। अपने कोड को इस रिपॉजिटरी में भेजने के लिए, आपको अपने टर्मिनल में `git` कमांड का उपयोग करना होगा। मेरा मानना है कि आपने पहले ही अपनी स्थानीय मशीन पर Git इंस्टॉल कर लिया है और अपने Django प्रोजेक्ट फ़ोल्डर में Git रिपॉजिटरी आरंभ कर दी है। यदि नहीं, तो ऐसा करने के लिए आधिकारिक दस्तावेज़ का पालन करें।
अपने कोड को GitHub पर भेजने के लिए, आपको इन चरणों का पालन करना होगा:
- टर्मिनल में अपने Django प्रोजेक्ट फ़ोल्डर में जाएं, और अपने रिपॉजिटरी की वर्तमान स्थिति देखने के लिए git status
टाइप करें। आपको कुछ इस तरह देखना चाहिए:
On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: Dockerfile modified: docker-compose.yml modified: requirements.txt no changes added to commit (use "git add" and/or "git commit -a")
इसका मतलब है कि आपके पास कुछ संशोधित फ़ाइलें हैं जो प्रतिबद्धता के लिए चरणबद्ध नहीं हैं। उन्हें प्रतिबद्ध करने के लिए चरणबद्ध करने के लिए, आपको git add
कमांड का उपयोग करने की आवश्यकता है।
- git add
टाइप करें। प्रतिबद्धता के लिए सभी संशोधित फ़ाइलों को चरणबद्ध करने के लिए। वैकल्पिक रूप से, आप उन फ़ाइल नामों को निर्दिष्ट कर सकते हैं जिन्हें हम चरणबद्ध करना चाहते हैं, जैसे git add
Dockerfile docker-compose.yml
requirements.txt
।
- हमारे रिपॉजिटरी की अद्यतन स्थिति देखने के लिए फिर से git status
टाइप करें। आपको कुछ इस तरह देखना चाहिए:
On branch main Your branch is up to date with 'origin/main'. Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: Dockerfile modified: docker-compose.yml modified: requirements.txt
इसका मतलब है कि आपके पास कुछ बदलाव हैं जो प्रतिबद्ध होने के लिए तैयार हैं। उन्हें कमिट करने के लिए, आपको git commit
कमांड का उपयोग करना होगा।
- हमने जो किया उसका वर्णन करने वाले संदेश के साथ चरणबद्ध परिवर्तन करने के लिए git commit -m "Add Docker configuration files"
टाइप करें। वैकल्पिक रूप से, आप -m
ध्वज को हटा सकते हैं और एक संपादक में एक लंबा संदेश दर्ज कर सकते हैं जो git commit
टाइप करने के बाद खुलेगा।
- हमारे भंडार की अंतिम स्थिति देखने के लिए फिर से git status
टाइप करें। आपको कुछ इस तरह देखना चाहिए:
On branch main Your branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean
इसका मतलब यह है कि आपके पास एक कमिट है जिसे अभी तक रिमोट रिपॉजिटरी में नहीं भेजा गया है। इसे पुश करने के लिए आपको git push
कमांड का उपयोग करना होगा।
- GitHub पर अपने स्थानीय कमिट को रिमोट रिपॉजिटरी में पुश करने के लिए git push origin main
टाइप करें।
वैकल्पिक रूप से, आप दूरस्थ नाम और शाखा नाम निर्दिष्ट कर सकते हैं जिसे आप पुश करना चाहते हैं, जैसे कि git push origin main
।
आपसे अपना GitHub उपयोगकर्ता नाम और पासवर्ड दर्ज करने या स्वयं को प्रमाणित करने के लिए व्यक्तिगत एक्सेस टोकन का उपयोग करने के लिए कहा जा सकता है।
- अपने GitHub रिपॉजिटरी पेज पर जाएं और इसे रीफ्रेश करें। आपको पृष्ठ पर अपना कोड और प्रतिबद्ध संदेश देखना चाहिए।
आपने सफलतापूर्वक अपना कोड GitHub पर भेज दिया है। अब, आप अगले चरण पर आगे बढ़ सकते हैं, जो आपके Django प्रोजेक्ट को हेरोकू में तैनात करना है।
हेरोकू एक क्लाउड प्लेटफ़ॉर्म है जो आपको वेब एप्लिकेशन को तैनात करने, प्रबंधित करने और स्केल करने की अनुमति देता है। यह विभिन्न प्रोग्रामिंग भाषाओं, फ्रेमवर्क और डेटाबेस का समर्थन करता है, जैसे कि पायथन, Django और PostgreSQL।
यह विभिन्न सुविधाएँ और ऐड-ऑन भी प्रदान करता है जो हमारे वेब विकास अनुभव को बढ़ाते हैं, जैसे लॉगिंग, मॉनिटरिंग, कैशिंग, सुरक्षा, आदि।
आपको हेरोकू की आवश्यकता है क्योंकि यह आपकी परिनियोजन प्रक्रिया को आसान और तेज़ बनाता है। आप सर्वर, नेटवर्क या ऑपरेटिंग सिस्टम जैसे अंतर्निहित बुनियादी ढांचे के बारे में चिंता किए बिना अपने Django प्रोजेक्ट को तैनात करने के लिए हेरोकू का उपयोग कर सकते हैं।
आप ट्रैफ़िक और मांग के अनुसार अपने वेब एप्लिकेशन को स्केल करने के लिए हेरोकू का भी उपयोग कर सकते हैं। हेरोकू आपके लिए वेब परिनियोजन की सभी जटिलताओं और चुनौतियों को संभालता है।
हरोकू खाता बनाने के लिए, आपको इन चरणों का पालन करना होगा:
- हेरोकू पर जाएं और साइनअप बटन पर क्लिक करें।
- आवश्यक जानकारी जैसे नाम, ईमेल, पासवर्ड आदि भरें।
- प्राथमिक विकास भाषा चुनें, जैसे कि पायथन।
- क्रिएट फ्री अकाउंट बटन पर क्लिक करें।
- हमारा ईमेल जांचें और हमारे खाते को सत्यापित करने के लिए लिंक पर क्लिक करें।
अब, आपने एक निःशुल्क हरोकू खाता बना लिया है। हेरोकू सीएलआई टूल इंस्टॉल करने के लिए, आपको इन चरणों का पालन करना होगा:
- [ हेरोकू सीएलआई' पर जाएं, और हमारे ऑपरेटिंग सिस्टम, जैसे विंडोज, मैक ओएस एक्स, या लिनक्स के लिए उपयुक्त इंस्टॉलर चुनें।
- इंस्टॉलर डाउनलोड करें और चलाएं और स्क्रीन पर दिए गए निर्देशों का पालन करें।
- एक टर्मिनल खोलें, और यह सत्यापित करने के लिए कि इंस्टॉलेशन सफल था, heroku --version
टाइप करें। आपको कुछ इस तरह देखना चाहिए:
heroku/7.59.0 win32-x64 node-v12.21.0
अब, आपने अपनी स्थानीय मशीन पर हेरोकू सीएलआई टूल इंस्टॉल कर लिया है। आप टर्मिनल से हेरोकू के साथ इंटरैक्ट करने के लिए इस टूल का उपयोग कर सकते हैं।
अपने Django प्रोजेक्ट के लिए हरोकू ऐप बनाने के लिए, हमें इन चरणों का पालन करना होगा:
- टर्मिनल में अपने Django प्रोजेक्ट फ़ोल्डर में जाएं और हेरोकू सीएलआई टूल का उपयोग करके अपने हेरोकू खाते में लॉग इन करने के लिए heroku login
टाइप करें। आपसे अपना ईमेल और पासवर्ड दर्ज करने या स्वयं को प्रमाणित करने के लिए वेब ब्राउज़र का उपयोग करने के लिए कहा जा सकता है।
- heroku create django-docker-app
django-docker-app
टाइप करें। वैकल्पिक रूप से, आप नाम छोड़ सकते हैं और हेरोकू को आपके लिए एक यादृच्छिक नाम उत्पन्न करने दे सकते हैं। आपको कुछ इस तरह देखना चाहिए:
Creating ⬢ django-docker-app... done https://django-docker-app.herokuapp.com/ | https://git.heroku.com/django-docker-app.git
इसका मतलब है कि आपने एक वेब यूआरएल और एक गिट यूआरएल के साथ एक नया हेरोकू ऐप बनाया है। वेब यूआरएल वह जगह है जहां आप अपने तैनात वेब एप्लिकेशन तक पहुंच सकते हैं, और गिट यूआरएल वह जगह है जहां आप अपने कोड को हेरोकू पर भेज सकते हैं।
- हमारे Django प्रोजेक्ट की SECRET_KEY सेटिंग के लिए पर्यावरण चर सेट करने के heroku config:set SECRET_KEY=<your_secret_key>
टाइप करें। आपको <your_secret_key>
को एक यादृच्छिक स्ट्रिंग से बदलने की आवश्यकता है जिसे आप Django सीक्रेट कुंजी जेनरेटर जैसे टूल का उपयोग करके उत्पन्न कर सकते हैं।
वैकल्पिक रूप से, आप मौजूदा गुप्त कुंजी का उपयोग कर सकते हैं जो आपकी सेटिंग्सहोम फ़ाइल में है, लेकिन सुरक्षा कारणों से इसकी अनुशंसा नहीं की जाती है।
- अपने हेरोकू ऐप में मुफ्त पोस्टग्रेएसक्यूएल डेटाबेस ऐड-ऑन जोड़ने के लिए heroku addons:create heroku-postgresql:hobby-dev
टाइप करें। यह आपके Django प्रोजेक्ट के लिए एक नया डेटाबेस बनाएगा और आपके Django प्रोजेक्ट की DATABASE_URL सेटिंग के लिए एक पर्यावरण चर सेट करेगा। आपको कुछ इस तरह देखना चाहिए:
Creating heroku-postgresql:hobby-dev on ⬢ django-docker-app... free Database has been created and is available ! This database is empty. If upgrading, you can transfer ! data from another database with pg:copy Created postgresql-curved-12345 as DATABASE_URL Use heroku addons:docs heroku-postgresql to view documentation
इसका मतलब है कि आपने PostgreSQL-curving-12345 और URL DATABASE_URL नाम के साथ एक PostgreSQL डेटाबेस ऐड-ऑन जोड़ा है।
- अपने हेरोकू ऐप के लिए आपके द्वारा निर्धारित पर्यावरण चर की सूची देखने के लिए heroku config
टाइप करें। आपको कुछ इस तरह देखना चाहिए:
=== django-docker-app Config Vars DATABASE_URL: postgres://<username>: <password>@<host>:<port>/<database> SECRET_KEY: <your_secret_key>
इसका मतलब है कि आपके पास दो पर्यावरण चर, DATABASE_URL और SECRET_KEY हैं, जिनका उपयोग आप अपनी Django प्रोजेक्ट सेटिंग्स में कर सकते हैं।
अब जब आपने एक हेरोकू ऐप बना लिया है और हमारे Django प्रोजेक्ट के लिए आवश्यक सेटिंग्स कॉन्फ़िगर कर ली है, तो आप अगले चरण पर आगे बढ़ सकते हैं, जो आपके Django प्रोजेक्ट को हेरोकू पर तैनात कर रहा है।
` heroku
कमांड का उपयोग करके अपने Django प्रोजेक्ट को हेरोकू में कैसे तैनात करें ?
heroku
कमांड का उपयोग करके हमारे Django प्रोजेक्ट को हेरोकू में तैनात करने के लिए, आपको इन चरणों का पालन करना होगा:
- टर्मिनल में अपने Django प्रोजेक्ट फ़ोल्डर में जाएं, और हेरोकू सीएलआई टूल का उपयोग करके हेरोकू कंटेनर रजिस्ट्री में लॉग इन करने के लिए heroku container:login
टाइप करें। यह आपको हमारी डॉकर छवि को हेरोकू में धकेलने की अनुमति देगा।
- अपनी डॉकर छवि को बनाने और हेरोकू पर पुश करने के लिए heroku container:push web -a django-docker-app
टाइप करें। आपको अपने हेरोकू ऐप का नाम निर्दिष्ट करना होगा, जो इस मामले में django-docker-app है। आपको कुछ इस तरह देखना चाहिए:
=== Building web (Dockerfile) Sending build context to Docker daemon 1.024kB Step 1/9 : FROM python:3.9-slim ---> 7f5b6ccd03e9 Step 2/9 : ENV PYTHONUNBUFFERED 1 ---> Using cache ---> 64b5d0e40a22 Step 3/9 : RUN mkdir /code ---> Using cache ---> 4d8c638f2b6c Step 4/9 : WORKDIR /code ---> Using cache ---> e69c02a028cd Step 5/9 : COPY requirements.txt /code/ ---> Using cache ---> 8f0f3e0f2d8c Step 6/9 : RUN pip install -r requirements.txt ---> Using cache ---> 0f7b497d81ed Step 7/9 : COPY . /code/ ---> Using cache ---> c0a8e9a32b16 Step 8/9 : EXPOSE 8000 ---> Using cache ---> a1d36a4a2da4 Step 9/9 : CMD ["gunicorn", "django_docker.wsgi", "--bind", "0.0.0.0:8000"] ---> Using cache ---> f7f3c0418a1d Successfully built f7f3c0418a1d Successfully tagged registry.heroku.com/django-docker-app/web:latest === Pushing web (Dockerfile) The push refers to repository [registry.heroku.com/django-docker-app/web] f7f3c0418a1d: Pushed latest: digest: sha256:6cbbf22cf6aa60e0343e6d8e7c4c2eeb2e cb8fd5e82a42dfe5f4aeeb15af89ec size: 528 Your image has been successfully pushed. You can now release it with the 'container:release' command.
इसका मतलब है कि आपने अपनी डॉकर छवि बना ली है और उसे हेरोकू में भेज दिया है।
- हमारे हेरोकू ऐप पर हमारी डॉकर छवि को रिलीज़ करने के लिए heroku container:release web -a django-docker-app
टाइप करें। आपको कुछ इस तरह देखना चाहिए:
Releasing images web to django-docker-app... done
इसका मतलब है कि आपने अपनी डॉकर छवि अपने हेरोकू ऐप पर जारी कर दी है।
- अपने हेरोकू ऐप पर डेटाबेस माइग्रेशन चलाने के लिए heroku run python manage.py migrate -a django-docker-app
टाइप करें। यह PostgreSQL डेटाबेस पर आपके Django प्रोजेक्ट के लिए आवश्यक टेबल और इंडेक्स बनाएगा। आपको कुछ इस तरह देखना चाहिए:
Running python manage.py migrate on ⬢ django-docker-app... up, run.1234 (Free) Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions, polls Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying polls.0001_initial... OK Applying sessions.0001_initial... OK
इसका मतलब है कि आपने अपने हेरोकू ऐप पर डेटाबेस माइग्रेशन चला लिया है।
- वेब ब्राउज़र में हमारे तैनात वेब एप्लिकेशन को खोलने के लिए heroku open -a django-docker-app
टाइप करें। आपको हमारा Django प्रोजेक्ट हरोकू पर चलता हुआ देखना चाहिए।
आपने heroku
कमांड का उपयोग करके अपने Django प्रोजेक्ट को हेरोकू में सफलतापूर्वक तैनात कर दिया है। अब आप अपने वेब एप्लिकेशन का आनंद ले सकते हैं और इसे दूसरों के साथ साझा कर सकते हैं।
इस ट्यूटोरियल में, आपने सीखा कि Docker, Django और Heroku का उपयोग करके Django एप्लिकेशन को कैसे डॉकराइज़ और तैनात किया जाए। आपने देखा कि कैसे डॉकर आपके अनुप्रयोगों के लिए पृथक और प्रतिलिपि प्रस्तुत करने योग्य वातावरण बनाने में आपकी मदद कर सकता है, और हेरोकू तैनाती प्रक्रिया को कैसे सरल बना सकता है।
आपने यह भी सीखा कि एकाधिक कंटेनरों और सेवाओं को प्रबंधित करने के लिए डॉकर कंपोज़ का उपयोग कैसे करें, और विभिन्न वातावरणों के लिए अपनी Django सेटिंग्स को कैसे कॉन्फ़िगर करें।
Django अनुप्रयोगों को डॉकराइज़ करने और तैनात करने से कई लाभ हो सकते हैं, जैसे:
- तेज़ विकास और परीक्षण चक्र
- आसान सहयोग और कोड साझा करना
- सभी प्लेटफार्मों पर लगातार और विश्वसनीय प्रदर्शन
- संसाधनों की मापनीयता और लचीलापन
- निर्भरता की सुरक्षा और अलगाव
आगे पढ़ें: तेज और विश्वसनीय सॉफ्टवेयर डिलीवरी के लिए सीआई/सीडी आवश्यक है। अधिकतम दक्षता के लिए अपनी सीआई/सीडी पाइपलाइन को अनुकूलित करने के लिए, सही उपकरण चुनें, अपने वर्कफ़्लो को सुव्यवस्थित करें, स्वचालित परीक्षण और क्यूए का उपयोग करें, बिल्ड को समानांतर करें, निगरानी और फीडबैक लूप का उपयोग करें, सुरक्षा जांच करें और अपनी पाइपलाइन में लगातार सुधार करें। और पढ़ें
यह भी पढ़ें: DockerCon 2023 में हमने जो कुछ भी सीखा , और पढ़ें
- डॉकर दस्तावेज़ीकरण : डॉकर के लिए आधिकारिक दस्तावेज़ीकरण, जहां आप गाइड, ट्यूटोरियल, संदर्भ सामग्री और बहुत कुछ पा सकते हैं।
- Django दस्तावेज़ीकरण : Django के लिए आधिकारिक दस्तावेज़ीकरण, जहाँ आप विषय, कैसे करें मार्गदर्शिकाएँ, संदर्भ सामग्री और बहुत कुछ पा सकते हैं।