ওয়েব ডেভেলপার হিসেবে, আমরা আমাদের অ্যাপ্লিকেশনের জন্য উপযুক্ত হোস্টিং খুঁজে পেতাম সেগুলি স্থাপন এবং রক্ষণাবেক্ষণের সমস্ত জটিলতার সাথে। কিন্তু এখন, আমরা একটি নতুন যুগে বাস করছি যখন ক্লাউড প্রদানকারীরা আমাদের জন্য প্রায় কোনো খরচ ছাড়াই অনেক কিছু তৈরি করতে পারে। .NET বিকাশকারীদের জন্য, মাইক্রোসফ্ট Azure ওয়েব অ্যাপ্লিকেশন হোস্ট করার জন্য সবচেয়ে স্বাভাবিক পছন্দ বলে মনে হয়।
ডকার প্রযুক্তির আরেকটি অংশ যা আপনি আপনার অ্যাপ্লিকেশনটি চালাচ্ছেন এমন প্ল্যাটফর্ম এবং পরিবেশ থেকে বিমূর্ত করা সম্ভব করে তোলে।
এই নিবন্ধে, আমি কীভাবে একটি সাধারণ ASP.NET কোর ওয়েব অ্যাপ্লিকেশন তৈরি করতে হয়, আপনার অ্যাপ্লিকেশনের সাথে একটি ডকার ইমেজ তৈরি করতে হয় এবং এটি Azure-এ স্থাপন করার সবচেয়ে সহজ উপায় সম্পর্কে একটি বিস্তারিত নির্দেশিকা দেব। শেষ পর্যন্ত, আপনি কীভাবে আপনার ওয়েব অ্যাপ্লিকেশন স্থাপন করবেন এবং এটিকে সমগ্র বিশ্বে অ্যাক্সেসযোগ্য করে তুলবেন সে সম্পর্কে আপনার ভাল ধারণা থাকবে।
আমি এই নিবন্ধে উন্নয়নের উদ্দেশ্যে JetBrains Rider ব্যবহার করতে যাচ্ছি। কিন্তু আপনি চাইলে যেকোন টুল ব্যবহার করতে পারেন।
প্রথমত, আপনাকে একটি নতুন প্রকল্প তৈরি করতে হবে। আসুন এটিকে সহজ ' ওয়েবঅ্যাপ ' বলি।
একটি নতুন প্রকল্প তৈরি করার পরে, এটি এই মত হওয়া উচিত:
প্রকল্পে কোনো পরিবর্তন ছাড়াই, আমরা 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
নেভিগেট করতে পারেন।
আমাদের ডকার হাবে একটি ছবি পুশ করতে হবে। তার আগে, আপনাকে অবশ্যই ডকার রেজিস্ট্রিতে নিবন্ধন করতে হবে এবং একটি সংগ্রহস্থল তৈরি করতে হবে। হোম পেজের ডান কোণে ' রিপোজিটরি তৈরি করুন ' বোতামে ক্লিক করুন।
Repository Name
ক্ষেত্রটি নির্দিষ্ট করুন এবং সংগ্রহস্থলের দৃশ্যমানতা Public
রাখুন।
কমান্ড লাইনে, আপনাকে ডকার হাব রেজিস্ট্রিতে লগ ইন করতে হবে:
docker login
এর পরে, আপনি রেজিস্ট্রিতে একটি নতুন তৈরি চিত্র পুশ করতে সক্ষম হবেন:
docker push drmoz/webapp:latest
সংগ্রহস্থলে নেভিগেট করুন এবং আপনি চিত্র সম্পর্কে তথ্য দেখতে পাবেন:
এখন, আমরা 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-এ মিনিটের মধ্যে পরিবর্তন দেখতে পারেন।
স্থাপনার লগগুলি দেখতে এবং সমস্যাগুলি সনাক্ত করতে সক্ষম হওয়ার জন্য, আপনাকে 'অ্যাপ পরিষেবা লগ' অধ্যায়ের অধীনে ফাইল সিস্টেমে লগগুলি সংরক্ষণ সক্ষম করতে হবে:
এটি হয়ে গেলে, আপনি 'ডিপ্লয়মেন্ট সেন্টার'-এ নেভিগেট করতে পারেন এবং নিম্নরূপ লগগুলি দেখতে পারেন:
আপনি যদি এই বিন্দুতে পৌঁছান, আপনি একটি ASP.NET কোর ওয়েব অ্যাপ্লিকেশন তৈরি করতে পেরেছেন; এটি ডকার ইমেজে প্যাক করুন এবং এটি আজুরে স্থাপন করুন। আজকাল, প্রযুক্তি জীবনকে সহজ করে তোলে এবং উন্নয়ন প্রক্রিয়াকে গতিশীল করে। আপনি দেখতে পারেন কত সহজে আপনি আপনার অ্যাপ্লিকেশনটি ক্লাউড প্রদানকারীর কাছে স্থাপন করতে পারেন এবং এটিকে সমগ্র বিশ্বের কাছে প্রকাশ করতে পারেন, কিছু পরীক্ষা করতে পারেন এবং আপনার কাজের ফলাফল দেখতে পারেন৷
এখন, আপনি মাইক্রোসফ্ট ডকুমেন্টেশন ব্যবহার করে Azure ক্লাউড প্রদানকারীদের বিশদ বিবরণে ডুব দিতে পারেন। এছাড়াও, প্রযুক্তির এই অংশটি গভীরভাবে বোঝার জন্য ডকার ডকুমেন্টেশনটি দেখুন। আমি এটা সহায়ক হতে পারে আশা করি.