Node.js एप्लिकेशन को डॉकराइज़ कैसे करें

Node Js Eplikesana Ko Dokara Iza Kaise Karem



किसी एप्लिकेशन को डॉकराइज़ करने में एप्लिकेशन को निष्पादित करने के लिए आवश्यक सभी आवश्यक शर्तें निर्दिष्ट करना और फिर एक विशेष डॉकर छवि बनाने के लिए डॉकरफ़ाइल का उपयोग करना शामिल है जिसे विभिन्न मशीनों के साथ साझा किया जा सकता है। डॉकराइज़िंग एक ' नोड.जे.एस 'एप्लिकेशन स्थिरता को बढ़ाता है, और डेवलपर के अंत में सुविधाजनक डिबगिंग सुनिश्चित करता है।

आवश्यक शर्तें







डॉकराइज़िंग के लिए आवश्यक शर्तें ' नोड.जे.एस 'आवेदन में निम्नलिखित शामिल हैं:



  • डॉकर स्थापना.
  • Node.js एप्लिकेशन की बुनियादी समझ।

Node.js एप्लिकेशन को डॉकराइज़ कैसे करें?

ए ' नोड.जे.एस 'एप्लिकेशन को निम्नलिखित चरणों के माध्यम से डॉकराइज़ किया जा सकता है:



चरण 1: एक “package.json” फ़ाइल बनाएँ





सबसे पहले, एक नई निर्देशिका बनाएं जहां सभी फ़ाइलें शामिल होंगी। इस निर्देशिका के भीतर, ' बनाएँ package.json 'फ़ाइल जो ऐप को उसकी निर्भरताओं के साथ दर्शाती है:

{
'नाम' : 'docker_web_app' ,
'संस्करण' : '1.0.0' ,
'विवरण' : 'डॉकर पर Node.js' ,
'लेखक' : 'पहला अंतिम ' ,
'मुख्य' : 'सर्वर.जेएस' ,
'स्क्रिप्ट' : {
'शुरू करना' : 'नोड सर्वर.जेएस'
} ,
'निर्भरताएं' : {
'अभिव्यक्त करना' : '^4.18.2'
} }



चरण 2: एक “package-lock.json” फ़ाइल जनरेट करें

'पैकेज.जेसन' फ़ाइल के भीतर, 'निष्पादित करें' एनपीएम इंस्टाल “सी.एम.डी.लेट. इससे एक 'उत्पन्न होगा पैकेज-लॉक.जेसन ”फ़ाइल जो डॉकर छवि पर कॉपी की गई है, इस प्रकार है:

NPM स्थापित करना

चरण 3: एक सर्वर बनाएं

उसके बाद, एक ' बनाएं सर्वर.जे.एस 'फ़ाइल जो' का उपयोग करके एक वेब ऐप घोषित करती है एक्सप्रेस.जे.एस ' रूपरेखा:

'सख्त प्रयोग करें' ;

स्थिरांक एक्सप्रेस = आवश्यकता ( 'अभिव्यक्त करना' ) ;

स्थिरांक पोर्ट = 8080 ;
स्थिरांक होस्ट = '0.0.0.0' ;

कॉन्स्ट ऐप = एक्सप्रेस ( ) ;
ऐप.प्राप्त करें ( '/' , ( अनुरोध, रेस ) = > {
पुनः भेजें ( 'हैलो वर्ल्ड' ) ;
} ) ;

ऐप.सुनो ( बंदरगाह, मेज़बान, ( ) = > {
कंसोल.लॉग ( ` http पर चल रहा है: // ${होस्ट} : ${पोर्ट} ` ) ;
} ) ;

अब, आइए एक आधिकारिक डॉकर छवि के माध्यम से डॉकर कंटेनर के भीतर एप्लिकेशन को निष्पादित करने की पद्धतियों पर आगे बढ़ें।

चरण 4: एक डॉकरफ़ाइल बनाएं

सभी फ़ाइलों को शामिल करते हुए उसी निर्देशिका में मैन्युअल रूप से एक Dockerfile बनाएं। इस फ़ाइल में, कोड की निम्नलिखित पंक्ति लिखें:

नोड से: 18
वर्कडिर / यूएसआर / स्रोत / अनुप्रयोग
पैकेज कॉपी करें * .json . /
एनपीएम चलाएँ स्थापित करना
कॉपी करें। .
अनावृत करना 8080
अध्यक्ष एवं प्रबंध निदेशक [ 'नोड' , 'सर्वर.जेएस' ]

उपरोक्त कोड स्निपेट में, नीचे दिए गए चरण लागू करें:

  • सबसे पहले, नोड के नवीनतम दीर्घकालिक समर्थन संस्करण 18 को आधार छवि के रूप में उपयोग करें डॉकर हब .
  • उसके बाद, छवि में ऐप कोड रखने के लिए एक निर्देशिका बनाएं।
  • यह एप्लिकेशन के लिए कार्यशील निर्देशिका का प्रतिनिधित्व करता है।
  • अब, ऐप निर्भरताएँ 'के माध्यम से इंस्टॉल करें NPM ”।
  • टिप्पणी: यदि एनपीएम संस्करण 4 या इससे पहले का उपयोग किया जा रहा है, तो 'पैकेज-लॉक.जेसन' फ़ाइल नहीं बनाई जाएगी।
  • अब, “कॉपी करें” package.json ' फ़ाइल। इसके अलावा, ऐप के सोर्स कोड को डॉकर छवि के भीतर 'के माध्यम से बंडल करें' कॉपी निर्देश.
  • का उपयोग करें ' अनावृत करना ” ऐप को पोर्ट 8080 से जुड़ने देने का निर्देश।
  • अंत में, सीएमडी के माध्यम से एप्लिकेशन को निष्पादित करने के लिए सीएमडीलेट को परिभाषित करें जो रनटाइम को परिभाषित करता है। यहां ही ' नोड सर्वर.जे.एस सर्वर को आरंभ करने के लिए cmdlet का उपयोग किया जाएगा।

चरण 5: एक '.dockerignore' फ़ाइल बनाएं

'.dockerignore' फ़ाइल बनाएं Dockerfile 'निर्देशिका/फ़ोल्डर में नीचे दी गई सामग्री शामिल है:

नोड_मॉड्यूल
npm-debug.log

यह सामग्री डॉकर छवि में कॉपी किए जाने के लिए क्रमशः स्थानीय मॉड्यूल और डिबग लॉग से बचती है।

चरण 6: छवि बनाएँ

अब, Dockerfile वाली निर्देशिका के भीतर, नीचे दिए गए cmdlet का उपयोग करके छवि बनाएं:

डोकर निर्माण। -टी नोडज / नोड-वेब-ऐप

इस cmdlet में, ' नोडज 'निर्देशिका नाम को संदर्भित करता है इसलिए तदनुसार cmdlet निर्दिष्ट करें और ' -टी 'ध्वज छवि को टैग करता है।

अब, इस आदेश के माध्यम से छवियों को सूचीबद्ध करें:

डॉकर छवियां

चरण 7: छवि चलाएँ

नीचे बताए गए cmdlet का उपयोग करके छवि को निष्पादित/चलाएँ:

डॉकर रन -पी 49160 : 8080 -डी नोडज / नोड-वेब-ऐप

यहां ही ' -पी 'ध्वज एक सार्वजनिक पोर्ट को कंटेनर के भीतर एक निजी पोर्ट पर रीडायरेक्ट करता है और' -डी ध्वज कंटेनर को अलग मोड में, यानी पृष्ठभूमि में निष्पादित करता है।

चरण 8: ऐप का आउटपुट जेनरेट करें

अब, निम्नलिखित कमांड का उपयोग करके एप्लिकेशन का आउटपुट प्रिंट करें:

डाक में काम करनेवाला मज़दूर पी.एस.
डॉकर लॉग 77b1e3c8576e

यदि कंटेनर शेल के भीतर नेविगेट करने की आवश्यकता है, तो 'का उपयोग करें कार्यकारी ” सीएमडीलेट:

डाक में काम करनेवाला मज़दूर कार्यकारी -यह 77b1e3c8576e / बिन / दे घुमा के

यहाँ, ' 77b1e3c8576e 'कंटेनर की आईडी का प्रतिनिधित्व करता है जिसे निष्पादित के माध्यम से कॉपी किया जा सकता है' डोकर पी.एस 'पहले आदेश दें।

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

एप्लिकेशन का परीक्षण करने के लिए, उस ऐप के पोर्ट को पुनः प्राप्त करें जिसे डॉकर ने मैप किया था:

डाक में काम करनेवाला मज़दूर पी.एस.

उपरोक्त सीएमडीलेट में, डॉकर ने 'मैप किया' 8080 'कंटेनर के भीतर पोर्ट से पोर्ट तक' 49160 'मशीन पर.

चरण 10: आवेदन लागू करना

एप्लिकेशन को 'के माध्यम से आमंत्रित करें कर्ल ऊपर मैप किए गए पोर्ट का संदर्भ लेकर और आवश्यक मान दर्ज करके cmdlet:

कर्ल -मैं लोकलहोस्ट: 49160

चरण 11: एप्लिकेशन को बंद/बंद करें

अंत में, 'के माध्यम से एप्लिकेशन को बंद करें मारना ” सीएमडीलेट:

डाक में काम करनेवाला मज़दूर मारना 77b1e3c8576e

साथ ही, इनपुट मानों के साथ इस कमांड के माध्यम से पुष्टि करें कि एप्लिकेशन रुका है या नहीं:

कर्ल -मैं लोकलहोस्ट: 49160

निष्कर्ष

ए ' नोड.जे.एस 'एप्लिकेशन को एक सर्वर, एक डॉकरफ़ाइल, '.dockerignore' फ़ाइल बनाकर, छवि बनाकर और चलाकर, ऐप का आउटपुट उत्पन्न करके, और परीक्षण, बंद करने और एप्लिकेशन के रुकने की पुष्टि करके डॉकराइज़ किया जा सकता है। यह आलेख Node.js एप्लिकेशन को डॉकराइज़ करने के बारे में विस्तार से बताता है।