C# अनुप्रयोगों का Docker के साथ कंटेनरीकरण: चरण-दर-चरण मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

आपके C# प्रोजेक्ट को Docker की आवश्यकता क्यों है?

\n\n

एक स्थिति की कल्पना करें: आपने अपने Windows 11 लैपटॉप पर एक शानदार C# एप्लिकेशन लिखा, सभी लाइब्रेरीज़ इंस्टॉल कीं, डेटाबेस सेट किया, और यह पूरी तरह से काम कर रहा है। लेकिन जब आप प्रोजेक्ट macOS पर किसी सहकर्मी को देते हैं या Linux सर्वर पर डालते हैं, तो अफरा-तफरी शुरू हो जाती है: "मेरे पास .NET का दूसरा वर्शन है", "SQL Server कहाँ है?", "तुम्हारे कोड में फ़ाइलों का पथ हार्डकोडेड है"... परिचित लगता है?

\n\n

यहीं पर C# अनुप्रयोगों का Docker के साथ कंटेनरीकरण काम आता है। Docker आपको आपके एप्लिकेशन को सभी निर्भरताओं, सेटिंग्स और यहां तक कि ऑपरेटिंग सिस्टम के साथ एक हल्के कंटेनर में पैकेज करने की अनुमति देता है। और यह हर जगह समान रूप से काम करेगा: आपके पीसी पर, सहकर्मी के सर्वर पर, AWS या Azure क्लाउड में।

\n\n

इस लेख में, हम सीखेंगे कि C# अनुप्रयोगों को Docker के साथ शुरू से अंत तक कैसे कंटेनरीकृत किया जाए। आप जानेंगे कि ASP.NET Core के लिए Dockerfile कैसे बनाएं, इमेज के आकार को कैसे अनुकूलित करें, और यह सब एक ही कमांड से कैसे चलाएं। चलिए शुरू करते हैं!

\n\n

Docker क्या है और C# डेवलपर को इसकी आवश्यकता क्यों है?

\n\n

Docker एप्लिकेशन कंटेनरीकरण के लिए एक प्लेटफॉर्म है। कंटेनर एक पृथक वातावरण है जिसमें आपका एप्लिकेशन और उसके संचालन के लिए आवश्यक सब कुछ शामिल है: runtime, लाइब्रेरीज़, एनवायरनमेंट वेरिएबल्स, कॉन्फ़िगरेशन। वर्चुअल मशीनों के विपरीत, कंटेनर साझा OS कर्नेल का उपयोग करते हैं, इसलिए वे तेज़ी से शुरू होते हैं और कम जगह लेते हैं।

\n\n

.NET डेवलपर के लिए, Docker कई killer-फीचर्स प्रदान करता है:

\n\n
    \n
  • "मेरी मशीन पर काम करता है" समस्या का समाधान — कंटेनर समान वातावरण सुनिश्चित करता है
  • \n
  • CI/CD को सरल बनाना — आप एक बार इमेज बनाते हैं और इसका उपयोग हर जगह करते हैं
  • \n
  • माइक्रोसर्विस आर्किटेक्चर — प्रत्येक C# सेवा अपने स्वयं के कंटेनर में रहती है
  • \n
  • स्केलिंग — कुछ सेकंड में अपने API की 10 प्रतियां आसानी से चलाएं
  • \n
  • पृथक्करण — एक प्रोजेक्ट की निर्भरताएं दूसरे के साथ संघर्ष नहीं करतीं
  • \n
\n\n

यदि आप अभी तक .NET अनुप्रयोगों का कंटेनरीकरण उपयोग नहीं कर रहे हैं, तो अब शुरू करने का समय है। और हम इसे अभी करेंगे।

\n\n

तैयारी: क्या इंस्टॉल करना आवश्यक है

\n\n

C# कंटेनरीकरण शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित इंस्टॉल हैं:

\n\n
    \n
  1. Docker Desktop — आधिकारिक वेबसाइट से डाउनलोड करें। Windows के लिए WSL 2 को सक्षम करना सुनिश्चित करें (इंस्टॉलेशन के दौरान संकेत मिलेंगे)।
  2. \n
  3. .NET SDK 8.0 (या 7.0/9.0 — कोई बड़ा अंतर नहीं) — Microsoft से डाउनलोड करें।
  4. \n
  5. VS Code या Visual Studio 2022 — कोड के साथ आसानी से काम करने के लिए।
  6. \n
\n\n

टर्मिनल में निम्नलिखित कमांड से इंस्टॉलेशन की जाँच करें:

\n\n
docker --version\ndotnet --version
\n\n

यदि दोनों कमांड वर्शन नंबर लौटाते हैं — तो .NET के लिए Docker विकास के लिए सब कुछ तैयार है।

\n\n

कंटेनरीकरण के लिए एक सरल C# एप्लिकेशन बनाना

\n\n

प्रदर्शन के लिए, हम एक न्यूनतम ASP.NET Core Web API लेंगे। एक खाली फ़ोल्डर में प्रोजेक्ट बनाएं:

\n\n
dotnet new webapi -n MyDockerApp\ncd MyDockerApp
\n\n

Program.cs फ़ाइल खोलें और इसे इस रूप में सरल बनाएं (स्पष्टता के लिए):

\n\n
var builder = WebApplication.CreateBuilder(args);\nvar app = builder.Build();\n\napp.MapGet("/", () => "Hello from Dockerized C# App!");\n\napp.Run();
\n\n

यह सुनिश्चित करने के लिए इसे स्थानीय रूप से चलाएं कि सब कुछ काम कर रहा है:

\n\n
dotnet run
\n\n

ब्राउज़र में http://localhost:5000 (या कंसोल द्वारा दिखाया गया पोर्ट) पर जाएं। अभिवादन दिख रहा है? बढ़िया। अब इस एप्लिकेशन को Docker में पैकेज करते हैं।

\n\n

C# एप्लिकेशन के लिए Dockerfile लिखना

\n\n

Dockerfile इमेज बनाने का एक निर्देश है। <

ब्लॉग

पुस्तक अनुशंसाएँ