paint-brush
डॉकर इमेज से Azure में ASP.NET कोर वेब ऐप कैसे तैनात करेंद्वारा@igorlopushko
880 रीडिंग
880 रीडिंग

डॉकर इमेज से Azure में ASP.NET कोर वेब ऐप कैसे तैनात करें

द्वारा Igor Lopushko6m2024/01/19
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

इस लेख में, मैं एक सरल ASP.NET कोर वेब एप्लिकेशन बनाने, अपने एप्लिकेशन के साथ एक डॉकर छवि बनाने और इसे Azure पर तैनात करने के सबसे आसान तरीके के बारे में एक विस्तृत मार्गदर्शिका दूंगा। अंत में, आपको इस बात की अच्छी समझ होगी कि अपने वेब एप्लिकेशन को कैसे तैनात किया जाए और इसे पूरी दुनिया के लिए कैसे सुलभ बनाया जाए।
featured image - डॉकर इमेज से Azure में ASP.NET कोर वेब ऐप कैसे तैनात करें
Igor Lopushko HackerNoon profile picture

परिचय

वेब डेवलपर्स के रूप में, हम अपने अनुप्रयोगों के लिए उन्हें तैनात करने और बनाए रखने की सभी जटिलताओं के साथ उपयुक्त होस्टिंग ढूंढते थे। लेकिन अब, हम एक नए युग में रहते हैं जब क्लाउड प्रदाता लगभग बिना किसी लागत के हमारे लिए बहुत सी चीजें बना सकते हैं। जहां तक .NET डेवलपर्स का सवाल है, वेब एप्लिकेशन होस्ट करने के लिए Microsoft Azure सबसे स्वाभाविक विकल्प लगता है।


डॉकर तकनीक का एक और टुकड़ा है जो आपके एप्लिकेशन को चलाने वाले प्लेटफ़ॉर्म और वातावरण से सार निकालना संभव बनाता है।


इस लेख में, मैं एक सरल ASP.NET कोर वेब एप्लिकेशन बनाने, अपने एप्लिकेशन के साथ एक डॉकर छवि बनाने और इसे Azure पर तैनात करने के सबसे आसान तरीके के बारे में एक विस्तृत मार्गदर्शिका दूंगा। अंत में, आपको इस बात की अच्छी समझ होगी कि अपने वेब एप्लिकेशन को कैसे तैनात किया जाए और इसे पूरी दुनिया के लिए कैसे सुलभ बनाया जाए।

1. ASP.NET कोर वेब ऐप बनाएं

मैं इस लेख में विकास के उद्देश्य से जेटब्रेन राइडर का उपयोग करने जा रहा हूँ। लेकिन आप अपनी इच्छानुसार किसी भी टूल का उपयोग कर सकते हैं।


सबसे पहले, आपको एक नया प्रोजेक्ट बनाना होगा. चलिए इसे सरल ' वेबएप ' कहते हैं।

नया समाधान बनाएं


एक नया प्रोजेक्ट बनाने के बाद, इसे इस तरह दिखना चाहिए:

परियोजना संरचना


2. एक डॉकर छवि बनाएं

प्रोजेक्ट में कोई बदलाव किए बिना, हम Dockerfile पर ध्यान केंद्रित करने जा रहे हैं। इसे निम्नलिखित उदाहरण के रूप में संशोधित करें:

 FROM mcr.microsoft.com/dotnet/aspnet:6.0 as base WORKDIR /app EXPOSE 8080 ENV ASPNETCORE_URLS http://+:8080 FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build COPY . /src WORKDIR /src RUN dotnet build "webapp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "webapp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "webapp.dll"]


HTTP के माध्यम से डॉकर कंटेनर से जुड़ने में सक्षम होने के लिए आपको EXPOSE 8080 और ENV ASPNETCORE_URLS http://+:8080 लाइनों पर ध्यान देने की आवश्यकता है।


कमांड लाइन से डॉकर छवि बनाएं। आपको webapp प्रोजेक्ट निर्देशिका पर नेविगेट करना होगा, और निम्नलिखित कमांड निष्पादित करना होगा:

 DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64 --tag drmoz/webapp:latest .


मैं इसे Mac M1 पर चला रहा हूं, और Azure परिनियोजन के साथ संगत होने के लिए मुझे स्पष्ट रूप से --platform पैरामीटर निर्दिष्ट करना होगा। मुझे DOCKER_BUILDKIT=1 पैरामीटर निर्दिष्ट करके और किसी अन्य आर्किटेक्चर के लिए एक छवि बनाने में सक्षम होने के लिए buildx उपयोग करके डॉकर बिल्डकिट को भी सक्रिय करना होगा।


यदि आप इसे इंटेल x86/x64 प्लेटफॉर्म पर चला रहे हैं, तो आप --platform पैरामीटर निर्दिष्ट करने और buildx सक्रिय करने की आवश्यकता के बिना docker build कमांड का उपयोग कर सकते हैं।


आप अपनी छवि को अलग तरह से टैग कर सकते हैं, लेकिन चूंकि मैं डॉकर हब का उपयोग करने जा रहा हूं, इसलिए मुझे छवि टैग drmoz/webapp:latest के हिस्से के रूप में अपना खाता नाम: drmoz निर्दिष्ट करना होगा।


जब एक छवि बनाई जाती है, तो आप निम्नलिखित कमांड चलाकर जांच सकते हैं कि यह डॉकर में मौजूद है या नहीं:

 docker images


यह सूची में होना चाहिए:

 REPOSITORY TAG IMAGE ID CREATED SIZE drmoz/webapp latest 0cfac748256b 37 minutes ago 216MB


आइए यह सत्यापित करने के लिए डॉकर कंटेनर चलाएं कि नई बनाई गई छवि ठीक काम करती है। कंटेनर शुरू करने के लिए docker run कमांड निष्पादित करें:

 docker run -p 5555:8080 drmoz/webapp:latest


कंटेनर के अंदर 8080 पोर्ट को अपने स्थानीय मशीन 5555 पोर्ट पर मैप करने के लिए -p पैरामीटर निर्दिष्ट करें। साथ ही, कंटेनर बनाने के लिए छवि का नाम भी निर्दिष्ट करें। मेरे मामले में, यह drmoz/webapp:latest है।


अब, आप ASP.NET कोर वेब ऐप होम पेज देखने के लिए अपने ब्राउज़र http://localhost:5555 में नेविगेट कर सकते हैं।

ASP.NET कोर वेब ऐप: होम पेज



हमें एक छवि को डॉकर हब पर धकेलना होगा। इससे पहले, आपको डॉकर रजिस्ट्री पर पंजीकरण करना होगा, और एक रिपॉजिटरी बनाना होगा। होम पेज के दाएं कोने पर ' रिपॉजिटरी बनाएं ' बटन पर क्लिक करें।

डॉकर हब का नया भंडार


Repository Name फ़ील्ड निर्दिष्ट करें, और रिपॉजिटरी दृश्यता Public रखें।


कमांड लाइन में, आपको डॉकर हब रजिस्ट्री में लॉग इन करना होगा:

 docker login


उसके बाद, आप नई बनाई गई छवि को रजिस्ट्री में पुश करने में सक्षम होंगे:

 docker push drmoz/webapp:latest


रिपॉजिटरी पर जाएँ, और आपको छवि के बारे में जानकारी दिखाई देगी:

डॉकर हब रिपॉजिटरी


3. Azure में एक वेब ऐप बनाएं

अब, हम अपने ASP.NET कोर वेब एप्लिकेशन को Azure पर तैनात करने के लिए तैयार हैं। आइए Azure पोर्टल में लॉग इन करें, और एक नया संसाधन समूह बनाएं। संसाधन समूह का नाम ' वेबएप-आरजी ' के रूप में निर्दिष्ट करें, और 'समीक्षा + बनाएं' बटन पर क्लिक करें।


संसाधन समूह बनाएँ: मूल टैब


अगली स्क्रीन पर, बस 'बनाएँ' बटन दबाएँ।

संसाधन समूह बनाएँ: समीक्षा करें + टैब बनाएँ


अब, हम एक वेब ऐप बना सकते हैं। 'संसाधन बनाएँ' पृष्ठ पर जाएँ, और WebApp ढूंढें। 'बनाएँ' बटन पर क्लिक करें।

वेब ऐप बनाएं: बेसिक टैब

आपको उस Resource Group निर्दिष्ट करना होगा जिसे हमने पहले बनाया था। साथ ही, वेब ऐप के लिए एक अद्वितीय Name निर्दिष्ट करें। Publish फ़ील्ड में 'डॉकर कंटेनर' चुनें। बाद में, हम यह निर्दिष्ट करने में सक्षम होंगे कि किस डॉकर छवि का उपयोग करना है।


Pricing plans अनुभाग में कोई भी उपयुक्त विकल्प चुनें, लेकिन मैं परीक्षण उद्देश्यों के लिए निःशुल्क F1 टायर का उपयोग करने की सलाह देता हूं। डॉकर टैब पर नेविगेट करें।


वेब ऐप बनाएं: डॉकर टैब


इस टैब पर, Image Source फ़ील्ड में 'डॉकर हब' चुनें। Access Type फ़ील्ड में 'सार्वजनिक' चुनें, और उस छवि के नाम के साथ Image and tag मान निर्दिष्ट करें जिसे हमने डॉकर हब पर भेजा था। 'समीक्षा + निर्माण' टैब पर जाएँ। इस टैब पर, 'बनाएं' बटन पर क्लिक करें:

वेब ऐप बनाएं: समीक्षा करें + टैब बनाएं


जब नया संसाधन तैनात किया जाएगा, तो आपसे पूछा जाएगा कि क्या आप इस संसाधन पर नेविगेट करना चाहेंगे; इसे कर ही डालो। आप वेब ऐप के संबंध में जानकारी देख पाएंगे।

वेब ऐप संसाधन जानकारी


तैनात वेब एप्लिकेशन को खोलने के लिए 'ब्राउज़ करें' बटन पर क्लिक करें। यदि सब कुछ सही ढंग से हुआ, तो आपको http://localhost:5555 पर नेविगेट करके ASP.NET कोर वेब ऐप होम पेज उसी तरह देखना चाहिए जैसा आपने अपने ब्राउज़र में देखा था।

सतत परिनियोजन सक्षम करें

यदि आप 'परिनियोजन केंद्र' सेटिंग्स पर नेविगेट करते हैं और 'परिनियोजन जारी रखता है' सक्षम करते हैं, तो आप हर बार डॉकर हब पर एक नई छवि पुश करने पर अपनी छवि को फिर से तैनात करने में सक्षम होंगे। इस तरीके से, आप अपने कोड में परिवर्तन कर सकते हैं, इसे एक नई छवि के साथ डॉकर हब पर भेज सकते हैं, और Azure में मिनटों में परिवर्तन देख सकते हैं।

वेब ऐप - परिनियोजन केंद्र

Azure वेब ऐप समस्या निवारण

परिनियोजन लॉग देखने और समस्याओं की पहचान करने में सक्षम होने के लिए, आपको 'ऐप सेवा लॉग' अध्याय के अंतर्गत फ़ाइल सिस्टम में लॉग सहेजने को निम्नानुसार सक्षम करना होगा:

वेब ऐप - ऐप सेवा लॉग


जब यह पूरा हो जाए, तो आप 'परिनियोजन केंद्र' पर नेविगेट कर सकते हैं और निम्नानुसार लॉग देख सकते हैं:

वेब ऐप - परिनियोजन केंद्र


सारांश

यदि आप इस बिंदु तक पहुँचते हैं, तो आप ASP.NET कोर वेब एप्लिकेशन बनाने में कामयाब रहे; इसे डॉकर छवि में पैक करें, और इसे Azure पर तैनात करें। आजकल, प्रौद्योगिकी जीवन को आसान बनाती है और विकास प्रक्रिया को गति देती है। आप देख सकते हैं कि आप कितनी आसानी से अपने एप्लिकेशन को क्लाउड प्रदाता पर तैनात कर सकते हैं और इसे पूरी दुनिया के सामने ला सकते हैं, कुछ परीक्षण कर सकते हैं और अपने काम का परिणाम देख सकते हैं।


अब, आप Microsoft दस्तावेज़ का उपयोग करके Azure क्लाउड प्रदाताओं के विवरण में गोता लगा सकते हैं। इसके अलावा, प्रौद्योगिकी के इस टुकड़े की गहरी समझ के लिए डॉकर दस्तावेज़ पर एक नज़र डालें। मुझे आशा है कि यह सहायक हो सकता है।