paint-brush
ডকার ইমেজ থেকে Azure-এ একটি ASP.NET কোর ওয়েব অ্যাপ কীভাবে স্থাপন করবেনদ্বারা@igorlopushko
956 পড়া
956 পড়া

ডকার ইমেজ থেকে 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 বিকাশকারীদের জন্য, মাইক্রোসফ্ট Azure ওয়েব অ্যাপ্লিকেশন হোস্ট করার জন্য সবচেয়ে স্বাভাবিক পছন্দ বলে মনে হয়।


ডকার প্রযুক্তির আরেকটি অংশ যা আপনি আপনার অ্যাপ্লিকেশনটি চালাচ্ছেন এমন প্ল্যাটফর্ম এবং পরিবেশ থেকে বিমূর্ত করা সম্ভব করে তোলে।


এই নিবন্ধে, আমি কীভাবে একটি সাধারণ ASP.NET কোর ওয়েব অ্যাপ্লিকেশন তৈরি করতে হয়, আপনার অ্যাপ্লিকেশনের সাথে একটি ডকার ইমেজ তৈরি করতে হয় এবং এটি Azure-এ স্থাপন করার সবচেয়ে সহজ উপায় সম্পর্কে একটি বিস্তারিত নির্দেশিকা দেব। শেষ পর্যন্ত, আপনি কীভাবে আপনার ওয়েব অ্যাপ্লিকেশন স্থাপন করবেন এবং এটিকে সমগ্র বিশ্বে অ্যাক্সেসযোগ্য করে তুলবেন সে সম্পর্কে আপনার ভাল ধারণা থাকবে।

1. ASP.NET কোর ওয়েব অ্যাপ তৈরি করুন

আমি এই নিবন্ধে উন্নয়নের উদ্দেশ্যে JetBrains Rider ব্যবহার করতে যাচ্ছি। কিন্তু আপনি চাইলে যেকোন টুল ব্যবহার করতে পারেন।


প্রথমত, আপনাকে একটি নতুন প্রকল্প তৈরি করতে হবে। আসুন এটিকে সহজ ' ওয়েবঅ্যাপ ' বলি।

নতুন সমাধান তৈরি করুন


একটি নতুন প্রকল্প তৈরি করার পরে, এটি এই মত হওয়া উচিত:

প্রকল্প কাঠামো


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 ব্যবহার করে অন্য আর্কিটেকচারের জন্য একটি চিত্র তৈরি করতে সক্ষম হতে।


আপনি যদি এটিকে Intel x86/x64 প্ল্যাটফর্মে চালান, তাহলে আপনি --platform প্যারামিটার নির্দিষ্ট করার প্রয়োজন ছাড়াই docker build কমান্ড ব্যবহার করতে পারেন এবং buildx সক্রিয় করতে পারেন।


আপনি আপনার ছবিকে ভিন্নভাবে ট্যাগ করতে পারেন, কিন্তু যেহেতু আমি ডকার হাব ব্যবহার করতে যাচ্ছি, তাই আমাকে আমার অ্যাকাউন্টের নাম উল্লেখ করতে হবে: drmoz ছবির ট্যাগের অংশ হিসেবে drmoz/webapp:latest


যখন একটি চিত্র তৈরি করা হয়, আপনি নিম্নলিখিত কমান্ডটি চালিয়ে ডকারে উপস্থিত আছে কিনা তা পরীক্ষা করতে পারেন:

 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


আপনার স্থানীয় মেশিন 5555 পোর্টে কন্টেইনারের ভিতরে 8080 পোর্ট ম্যাপ করতে -p প্যারামিটারটি নির্দিষ্ট করুন। এছাড়াও, ধারক তৈরি করতে ছবির নাম উল্লেখ করুন। আমার ক্ষেত্রে, এটি drmoz/webapp:latest


এখন, আপনি ASP.NET কোর ওয়েব অ্যাপ হোম পেজ দেখতে আপনার ব্রাউজারে http://localhost:5555 নেভিগেট করতে পারেন।

ASP.NET কোর ওয়েব অ্যাপ: হোম পেজ



আমাদের ডকার হাবে একটি ছবি পুশ করতে হবে। তার আগে, আপনাকে অবশ্যই ডকার রেজিস্ট্রিতে নিবন্ধন করতে হবে এবং একটি সংগ্রহস্থল তৈরি করতে হবে। হোম পেজের ডান কোণে ' রিপোজিটরি তৈরি করুন ' বোতামে ক্লিক করুন।

ডকার হাবের নতুন সংগ্রহস্থল


Repository Name ক্ষেত্রটি নির্দিষ্ট করুন এবং সংগ্রহস্থলের দৃশ্যমানতা Public রাখুন।


কমান্ড লাইনে, আপনাকে ডকার হাব রেজিস্ট্রিতে লগ ইন করতে হবে:

 docker login


এর পরে, আপনি রেজিস্ট্রিতে একটি নতুন তৈরি চিত্র পুশ করতে সক্ষম হবেন:

 docker push drmoz/webapp:latest


সংগ্রহস্থলে নেভিগেট করুন এবং আপনি চিত্র সম্পর্কে তথ্য দেখতে পাবেন:

ডকার হাব সংগ্রহস্থল


3. Azure-এ একটি ওয়েব অ্যাপ তৈরি করুন

এখন, আমরা Azure-এ আমাদের ASP.NET কোর ওয়েব অ্যাপ্লিকেশন স্থাপন করতে প্রস্তুত। আসুন Azure পোর্টালে লগ ইন করি, এবং একটি নতুন রিসোর্স গ্রুপ তৈরি করি। রিসোর্স গ্রুপের নামটি ' webapp-rg ' হিসেবে উল্লেখ করুন এবং 'Review + create' বোতামে ক্লিক করুন।


রিসোর্স গ্রুপ তৈরি করুন: বেসিক ট্যাব


পরবর্তী স্ক্রিনে, শুধু 'তৈরি করুন' বোতামটি টিপুন।

রিসোর্স গ্রুপ তৈরি করুন: পর্যালোচনা + তৈরি ট্যাব


এখন, আমরা একটি ওয়েব অ্যাপ তৈরি করতে পারি। 'রিসোর্স তৈরি করুন' পৃষ্ঠায় নেভিগেট করুন, এবং 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 ক্লাউড প্রদানকারীদের বিশদ বিবরণে ডুব দিতে পারেন। এছাড়াও, প্রযুক্তির এই অংশটি গভীরভাবে বোঝার জন্য ডকার ডকুমেন্টেশনটি দেখুন। আমি এটা সহায়ক হতে পারে আশা করি.