वेब डेवलपर्स के रूप में, हम अपने अनुप्रयोगों के लिए उन्हें तैनात करने और बनाए रखने की सभी जटिलताओं के साथ उपयुक्त होस्टिंग ढूंढते थे। लेकिन अब, हम एक नए युग में रहते हैं जब क्लाउड प्रदाता लगभग बिना किसी लागत के हमारे लिए बहुत सी चीजें बना सकते हैं। जहां तक .NET डेवलपर्स का सवाल है, वेब एप्लिकेशन होस्ट करने के लिए Microsoft Azure सबसे स्वाभाविक विकल्प लगता है।
डॉकर तकनीक का एक और टुकड़ा है जो आपके एप्लिकेशन को चलाने वाले प्लेटफ़ॉर्म और वातावरण से सार निकालना संभव बनाता है।
इस लेख में, मैं एक सरल ASP.NET कोर वेब एप्लिकेशन बनाने, अपने एप्लिकेशन के साथ एक डॉकर छवि बनाने और इसे Azure पर तैनात करने के सबसे आसान तरीके के बारे में एक विस्तृत मार्गदर्शिका दूंगा। अंत में, आपको इस बात की अच्छी समझ होगी कि अपने वेब एप्लिकेशन को कैसे तैनात किया जाए और इसे पूरी दुनिया के लिए कैसे सुलभ बनाया जाए।
मैं इस लेख में विकास के उद्देश्य से जेटब्रेन राइडर का उपयोग करने जा रहा हूँ। लेकिन आप अपनी इच्छानुसार किसी भी टूल का उपयोग कर सकते हैं।
सबसे पहले, आपको एक नया प्रोजेक्ट बनाना होगा. चलिए इसे सरल ' वेबएप ' कहते हैं।
एक नया प्रोजेक्ट बनाने के बाद, इसे इस तरह दिखना चाहिए:
प्रोजेक्ट में कोई बदलाव किए बिना, हम 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
में नेविगेट कर सकते हैं।
हमें एक छवि को डॉकर हब पर धकेलना होगा। इससे पहले, आपको डॉकर रजिस्ट्री पर पंजीकरण करना होगा, और एक रिपॉजिटरी बनाना होगा। होम पेज के दाएं कोने पर ' रिपॉजिटरी बनाएं ' बटन पर क्लिक करें।
Repository Name
फ़ील्ड निर्दिष्ट करें, और रिपॉजिटरी दृश्यता Public
रखें।
कमांड लाइन में, आपको डॉकर हब रजिस्ट्री में लॉग इन करना होगा:
docker login
उसके बाद, आप नई बनाई गई छवि को रजिस्ट्री में पुश करने में सक्षम होंगे:
docker push drmoz/webapp:latest
रिपॉजिटरी पर जाएँ, और आपको छवि के बारे में जानकारी दिखाई देगी:
अब, हम अपने 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 में मिनटों में परिवर्तन देख सकते हैं।
परिनियोजन लॉग देखने और समस्याओं की पहचान करने में सक्षम होने के लिए, आपको 'ऐप सेवा लॉग' अध्याय के अंतर्गत फ़ाइल सिस्टम में लॉग सहेजने को निम्नानुसार सक्षम करना होगा:
जब यह पूरा हो जाए, तो आप 'परिनियोजन केंद्र' पर नेविगेट कर सकते हैं और निम्नानुसार लॉग देख सकते हैं:
यदि आप इस बिंदु तक पहुँचते हैं, तो आप ASP.NET कोर वेब एप्लिकेशन बनाने में कामयाब रहे; इसे डॉकर छवि में पैक करें, और इसे Azure पर तैनात करें। आजकल, प्रौद्योगिकी जीवन को आसान बनाती है और विकास प्रक्रिया को गति देती है। आप देख सकते हैं कि आप कितनी आसानी से अपने एप्लिकेशन को क्लाउड प्रदाता पर तैनात कर सकते हैं और इसे पूरी दुनिया के सामने ला सकते हैं, कुछ परीक्षण कर सकते हैं और अपने काम का परिणाम देख सकते हैं।
अब, आप Microsoft दस्तावेज़ का उपयोग करके Azure क्लाउड प्रदाताओं के विवरण में गोता लगा सकते हैं। इसके अलावा, प्रौद्योगिकी के इस टुकड़े की गहरी समझ के लिए डॉकर दस्तावेज़ पर एक नज़र डालें। मुझे आशा है कि यह सहायक हो सकता है।