डॉकर कंटेनर के रूप में चलाने के लिए गोलांग एप्लिकेशन

Dokara Kantenara Ke Rupa Mem Calane Ke Li E Golanga Eplikesana



इस ट्यूटोरियल में, हम डॉकर कंटेनर के रूप में चलाने के लिए गोलांग एप्लिकेशन को सेट करके कंटेनरीकरण की मूल बातें सीखने जा रहे हैं। हम सीखेंगे कि अपने एप्लिकेशन के लिए सभी आवश्यकताओं को कॉन्फ़िगर करने के लिए डॉकरफाइल के साथ कैसे काम करें।

गो एक ओपन-सोर्स, स्थिर रूप से टाइप की गई और संकलित प्रोग्रामिंग भाषा है जो सरल, विश्वसनीय और अत्यधिक कुशल सॉफ़्टवेयर के विकास को सुविधाजनक बनाने की क्षमता के लिए प्रसिद्ध है। यह वेब ऐप्स, क्लाउड-नेटिव सॉल्यूशंस, कमांड-लाइन इंटरफेस (सीएलआई) सहित विविध अनुप्रयोगों को तैयार करने में उपयोगिता पाता है, और दिलचस्प बात यह है कि डॉकर को भी गो का उपयोग करके तैयार किया जाता है।

हमारे मामले में, हम गो में एक सरल HTTP सर्वर बनाते हैं जो हमें यह प्रदर्शित करने की अनुमति देता है कि सरल चरणों में एप्लिकेशन को कैसे बनाया और डॉकराइज़ किया जाए।







आवश्यकताएं:

इस ट्यूटोरियल का अनुसरण करने के लिए, आपको निम्नलिखित टूल की आवश्यकता होगी:



  1. स्थापित गो कंपाइलर (संस्करण 1.21 और ऊपर आवश्यक)
  2. आपकी होस्ट मशीन पर डॉकर इंजन चलाना
  3. गो एप्लिकेशन को संपादित करने के लिए एक आईडीई या टेक्स्ट एडिटर। हम विजुअल स्टूडियो या विम का उपयोग करने की सलाह देते हैं
  4. एक कमांड-लाइन दुभाषिया जैसे बैश, ZSH, पॉवरशेल, आदि।

दी गई आवश्यकताओं को पूरा करने के बाद, आइए आगे बढ़ें और सीखें कि एप्लिकेशन कैसे बनाएं।



एप्लिकेशन का निर्माण

अगला कदम हमारा एप्लिकेशन बनाना है। हमारे मामले में, हम एक साधारण HTTP सर्वर बनाते हैं जो एक साधारण संदेश के साथ प्रतिक्रिया देता है।





गो प्रोजेक्ट को संग्रहीत करने के लिए एक निर्देशिका बनाकर प्रारंभ करें। आप कोई भी उपयुक्त नाम प्रदान कर सकते हैं.

$ mkdir go_server

निर्देशिका में नेविगेट करें और स्रोत कोड संग्रहीत करने के लिए एक नई फ़ाइल बनाएं। हमारे मामले में, हम 'main.go' फ़ाइल को कॉल करते हैं जो दर्शाता है कि फ़ाइल एक गो स्रोत कोड है।



$ छूना मुख्य.जाओ

अंत में, फ़ाइल को संपादित करें और एप्लिकेशन में स्रोत कोड जोड़ें जैसा कि निम्नलिखित में दिखाया गया है:

पैकेज मुख्य

आयात (
'एफएमटी'
'नेट/http'
)

मुख्य कार्य ( ) {
// आने वाले अनुरोधों को संभालें
http.HandleFunc ( '/' , func ( में http.ResponseWriter, आर * http.अनुरोध ) {
// ग्राहक को प्रतिक्रिया लिखें
fmt.Fprintf ( में , 'डॉकर से (:' )
} )

// पोर्ट पर HTTP सर्वर प्रारंभ करें 8080
fmt.Println ( 'सर्वर :8080 पर चल रहा है' )
http.सुनेंऔर परोसें ( ':8080' , शून्य )
}

पिछला एप्लिकेशन एक मूल HTTP सर्वर बनाता है जो पोर्ट 8080 से जुड़ता है। सर्वर पहले से परिभाषित मूल संदेश के साथ प्रतिक्रिया करता है।

आवेदन का परीक्षण

इससे पहले कि हम एप्लिकेशन को डॉकराइज़ करें, आइए सुनिश्चित करें कि ऐप ठीक से काम कर रहा है। निम्न आदेश चलाएँ:

$ जाओ भागो main.go

पिछला आदेश एप्लिकेशन प्रारंभ करता है और संदेश निम्नानुसार लौटाता है:

सर्वर चालू है: 8080

अगला, HTTP सर्वर का परीक्षण करने के लिए, आप निम्नानुसार 'कर्ल' कमांड चला सकते हैं:

$ कर्ल http: // लोकलहोस्ट: 8080 /

पिछले आदेश को संदेश इस प्रकार लौटाना चाहिए:

डॉकर से ( : %

अब हम आगे बढ़ सकते हैं और पिछले एप्लिकेशन को डॉकराइज़ कर सकते हैं जैसा कि अगले चरणों में परिभाषित किया गया है।

एप्लिकेशन को कंटेनरीकृत करना

अगले चरण में इस बात पर चर्चा की जाएगी कि एप्लिकेशन के लिए कंटेनर कैसे बनाया जाए। हम प्रोजेक्ट डायरेक्टरी में Dockerfile बनाकर शुरुआत करते हैं।

$ सीडी go_server

बिना किसी एक्सटेंशन के Dockerfile नामक फ़ाइल बनाएं और टेक्स्ट एडिटर के साथ फ़ाइल को संपादित करें। यह फ़ाइल हमें अपने एप्लिकेशन के लिए सभी आवश्यकताओं को निम्नानुसार परिभाषित करने की अनुमति देती है:

$ छूना Dockerfile
$ क्योंकि Dockerfile

कॉन्फ़िगरेशन को इस प्रकार जोड़ें:

गोलांग से: 1.21

वर्कडिर / अनुप्रयोग

कॉपी करें। .

RUN गो बिल्ड मेन.गो -ओ मुख्य ।

अनावृत करना 8080

अध्यक्ष एवं प्रबंध निदेशक [ '।/मुख्य' ]

पिछले Dockerfile में, हम एप्लिकेशन के लिए पिछले ऑपरेशन को परिभाषित करते हैं।

  • आधार छवि को आधिकारिक गोलांग छवि संस्करण 1.21 पर सेट करें।
  • कंटेनर के अंदर कार्यशील निर्देशिका को '/app' पर कॉन्फ़िगर करें।
  • हम संपूर्ण प्रोजेक्ट निर्देशिका को कंटेनर में कॉपी करते हैं।
  • कंटेनर के अंदर गो एप्लिकेशन बनाएं।
  • आने वाले HTTP ट्रैफ़िक को अनुमति देने के लिए पोर्ट 8080 को उजागर करें।
  • गो एप्लिकेशन को चलाने के लिए कमांड सेट करें।

डॉकर छवि का निर्माण

एप्लिकेशन के लिए छवि बनाने के लिए, टर्मिनल खोलें और प्रोजेक्ट निर्देशिका पर नेविगेट करें। इसके बाद, छवि बनाने के लिए निम्न कमांड चलाएँ:

$ सूडो डोकर निर्माण -टी go_server_docker .

Go_server_docker को उस नाम से बदलें जिसे आप ऐप छवि निर्दिष्ट करना चाहते हैं।

डॉकर छवि को सफलतापूर्वक बनाने के बाद, आप निम्न आदेश के साथ उस छवि के आधार पर एक कंटेनर चला सकते हैं:

$ डॉकर रन -पी 8080 : 8080 go_server_docker

पिछले कमांड को होस्ट मशीन से कंटेनर के अंदर पोर्ट 8080 पर पोर्ट 8080 को मैप करना चाहिए।

कंटेनर का परीक्षण करने के लिए, निम्न आदेश चलाएँ:

$ कर्ल http: // लोकलहोस्ट: 8080

इससे एप्लिकेशन में परिभाषित संदेश प्रिंट होना चाहिए।

निष्कर्ष

इस ट्यूटोरियल में, हमने सीखा कि एक बेसिक गो एप्लिकेशन कैसे बनाया जाता है। हमने यह भी सीखा कि डॉकरफाइल में आवश्यकताओं को परिभाषित करके, कंटेनर से छवि बनाकर और छवि से कंटेनर चलाकर एप्लिकेशन को कंटेनरीकृत कैसे किया जाए।